Closed Morketh closed 1 year ago
Did you figure it out?
With the updates from curseforge comments, attempting to move plugins throws this error:
1x ChocolateBar\DragAndDrop.lua:86: attempt to index upvalue 'focus' (a nil value)
[string "@ChocolateBar\DragAndDrop.lua"]:86: in function `Stop'
[string "@ChocolateBar\Chocolate.lua"]:347: in function <ChocolateBar\Chocolate.lua:341>
Locals:
self = <table> {
Start = <function> defined @ChocolateBar\DragAndDrop.lua:67
UnregisterFrame = <function> defined @ChocolateBar\DragAndDrop.lua:63
Stop = <function> defined @ChocolateBar\DragAndDrop.lua:79
RegisterFrame = <function> defined @ChocolateBar\DragAndDrop.lua:54
}
frame = ChocolateGallywix_Azerite_Ledger {
BottomLeftCorner = <unnamed> {
}
OnBackdropLoaded = <function> defined @SharedXML\Backdrop.lua:205
GetBackdropColor = <function> defined @SharedXML\Backdrop.lua:443
SetBackdropBorderColor = <function> defined @SharedXML\Backdrop.lua:475
icon = <unnamed> {
}
obj = <table> {
}
text = <unnamed> {
}
SetBackdrop = <function> defined @SharedXML\Backdrop.lua:382
ClearBackdrop = <function> defined @SharedXML\Backdrop.lua:335
GetBackdropBorderColor = <function> defined @SharedXML\Backdrop.lua:462
GetBackdrop = <function> defined @SharedXML\Backdrop.lua:400
bar = ChocolateBar1 {
}
SetBorderBlendMode = <function> defined @SharedXML\Backdrop.lua:319
highlight = <function> defined @ChocolateBar\Chocolate.lua:355
Update = <function> defined @ChocolateBar\Chocolate.lua:300
isMoving = false
settings = <table> {
}
OnBackdropSizeChanged = <function> defined @SharedXML\Backdrop.lua:235
HasBackdropInfo = <function> defined @SharedXML\Backdrop.lua:331
Center = <unnamed> {
}
RightEdge = <unnamed> {
}
GetEdgeSize = <function> defined @SharedXML\Backdrop.lua:241
labelText = ""
0 = <userdata>
TopEdge = <unnamed> {
}
BottomEdge = <unnamed> {
}
name = "Gallywix_Azerite_Ledger"
BottomRightCorner = <unnamed> {
}
TopRightCorner = <unnamed> {
}
TopLeftCorner = <unnamed> {
}
SetupTextureCoordinates = <function> defined @SharedXML\Backdrop.lua:267
backdropInfo = <table> {
}
SetupPieceVisuals = <function> defined @SharedXML\Backdrop.lua:299
SetBackdropColor = <function> defined @SharedXML\Backdrop.lua:452
LeftEdge = <unnamed> {
}
ApplyBackdrop = <function> defined @SharedXML\Backdrop.lua:347
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = "OnUpdate"
(*temporary) = nil
(*temporary) = <userdata>
(*temporary) = nil
(*temporary) = ChocolateBar2 {
0 = <userdata>
UpdateBar = <function> defined @ChocolateBar\Bar.lua:428
tempHide = false
GetFocus = <function> defined @ChocolateBar\Bar.lua:421
OnBackdropLoaded = <function> defined @SharedXML\Backdrop.lua:205
GetBackdropColor = <function> defined @SharedXML\Backdrop.lua:443
autohide = false
Drop = <function> defined @ChocolateBar\Bar.lua:394
UpdateColors = <function> defined @ChocolateBar\Bar.lua:121
SetBackdropBorderColor = <function> defined @SharedXML\Backdrop.lua:475
UpdateStrata = <function> defined @ChocolateBar\Bar.lua:76
New = <function> defined @ChocolateBar\Bar.lua:28
EatChocolatePiece = <function> defined @ChocolateBar\Bar.lua:184
chocoMostRight = ChocolateBroker_ProfessionsMenu {
}
chocolist = <table> {
}
ApplyBackdrop = <function> defined @SharedXML\Backdrop.lua:347
SetBackdrop = <function> defined @SharedXML\Backdrop.lua:382
ClearBackdrop = <function> defined @SharedXML\Backdrop.lua:335
LoseFocus = <function> defined @ChocolateBar\Bar.lua:417
GetBackdropBorderColor = <function> defined @SharedXML\Backdrop.lua:462
GetBackdrop = <function> defined @SharedXML\Backdrop.lua:400
listCenter = <table> {
}
chocoMostLeft = ChocolateScrap {
}
UpdateDragChocolate = <function> defined @ChocolateBar\Bar.lua:346
SetBorderBlendMode = <function> defined @SharedXML\Backdrop.lua:319
Center = <unnamed> {
}
RightEdge = <unnamed> {
}
UpdateScale = <function> defined @ChocolateBar\Bar.lua:105
LeftEdge = <unnamed
Disabling plater and reloading allows plugin movement like normal. Accessing options from interface menu and toggling MoreChocolate brings the bars back, but they are do not respond to mouse clicks (things such as clock still update)
I was getting this error for a while and it drove me crazy not being able to move the plugins. Was not thinking it would not throw the error if I'd disable Plater, so glad I found this! So is this from ChocolateBar and can be fixed? Or should we open an issue on the Plater issue tracker?
From what I gather, IsForbidden() is not always correct, or doing getpoints on some plater related frame would still cause taint error. My workaround was to remove the piece of code related to hide libqtip and libtablet tooltips in Chocolate.lua around line 328 to 340:
OnLeave(frame)
-- hide libqtip and libtablet tooltips
-- local kids = {_G.UIParent:GetChildren()}
-- for _, child in ipairs(kids) do
-- if not child:IsForbidden() then
-- for i = 1, child:GetNumPoints() do
-- local _,relativeTo,_,_,_ = child:GetPoint(i)
-- if relativeTo == frame then
-- child:Hide()
-- end
-- end
-- end
-- end
It fixed the issue with plater in 9.2.7. It's probably causing a but for libqtip and libtablet, but I didn't see any issue (I might not have a addon to test that).
I also added some null check when bugsac reports something. Often there are problems during the loading screen, e.g. in Chocolate.lua around line 357:
ChocolateBar.dropFrames:Hide()
changes to
if ChocolateBar.dropFrames ~= nil then
ChocolateBar.dropFrames:Hide()
end
The ChocolateBar.dropFrames should never be nil. Seems the be the case due to another error.
As for hiding the libqtip and libtablet tooltips when dragging, yes strange that checking for IsForbidden() is not correct. I can add IsProtected() and see if that helps.
Just installed Platter and IsProtected() does not fix the issue.
Fixed in v3.9.3
I seem to be having a problem with Plater + Chocolate Bar. when i grab a broker with Plater turned on chocolate bar crashes and throws an error.
EDIT: Forking Repo to see if i can figure it out.