Resizing client window causes error
jbelaire opened this issue ยท 6 comments
Hey Tulla,
Big fan of your addons. I've been using them forever. Unfortunately I'm running into an error using Dominos 8.2.7.
Whenever I resize the WoW window, I get this error:
Message: Interface\FrameXML\MultiActionBars.lua:64: attempt to perform arithmetic on a nil value
Time: Sat Jun 29 15:30:02 2019
Count: 40
Stack: Interface\FrameXML\MultiActionBars.lua:64: attempt to perform arithmetic on a nil value
Interface\FrameXML\MultiActionBars.lua:64: in function <Interface\FrameXML\MultiActionBars.lua:53>
Locals: showLeft = "1"
showRight = "1"
topLimit = 821.999878
(*temporary) = nil
(*temporary) = MicroButtonAndBagsBar {
0 = <userdata>
ignoreFramePositionManager = true
MicroBagBar = <unnamed> {
}
}
(*temporary) = nil
(*temporary) = <function> defined @Interface\FrameXML\MultiActionBars.lua:60
(*temporary) = <function> defined @Interface\FrameXML\MultiActionBars.lua:60
(*temporary) = "1"
(*temporary) = nil
(*temporary) = <userdata>
(*temporary) = <table> {
}
(*temporary) = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:169
(*temporary) = StatusTrackingBarManager {
LayoutBar = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:150
SingleBarSmall = <unnamed> {
}
SetTextLocked = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:4
smallBarSeparatorWidth = 24
barHeight = 13.999999
UpdateBarsShown = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:75
IsTextLocked = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:21
SingleBarSmallUpper = <unnamed> {
}
largeSize = "1"
LayoutBars = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:169
SingleBarLarge = <unnamed> {
}
HideVisibleBarText = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:62
SetInitialBarSize = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:97
SetDoubleBarSize = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:107
largeBarSeparatorWidth = 30
UpdateBarTicks = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:46
SingleBarLargeUpper = <unnamed> {
}
ShowVisibleBarText = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:54
SetBarAnimation = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:40
SetEndCapWidth = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:216
endCapWidth = 4
HideStatusBars = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:87
GetNumberVisibleBars = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:11
AddBarFromTemplate = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:33
OnEvent = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:205
0 = <userdata>
GetEndCapWidth = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:212
UpdateBarVisibility = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:25
SetSingleBarSize = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:134
OnLoad = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:185
bars = <table> {
}
SetBarSize = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:70
GetInitialBarHeight = <function> defined @Interface\FrameXML\StatusTrackingManager.lua:101
}
(*temporary) = <table> {
}
(*temporary) = 804
(*temporary) = "attempt to perform arithmetic on a nil value"
UpdateMultiActionBar = <function> defined @Interface\FrameXML\MultiActionBars.lua:34
UpdateMainMenuBar = <function> defined @Interface\FrameXML\MultiActionBars.lua:48
The issue is MultiActionBar_Update in MultiActionBars.lua depends on MicroButtonAndBagsBar being visible, but Dominos hides it. The call to MicroButtonAndBagsBar:GetTop() returns nil, which results in the "attempt to perform arithmetic on a nil value" error here:
if ( showRight ) then
local topLimit = MinimapCluster:GetBottom() - 10; -- increasing by 14 here because we can overlap since the cluster is bigger than the elements it contains
local bottomLimit = MicroButtonAndBagsBar:GetTop() + 24; -- ERROR HERE
A workaround to prevent this error is disabling the left side vertical multi bar in Interface Options. Unfortunately the quest log positions itself relative to the left side vertical multi bars, which I like because I put two Dominos bars on the right hand side.
Tried Dominos Classic from the link above but I still get the error when I resize the WoW window. After resizing the window, the error pops up sporadically until I reload the UI.
Looks like that fixed the error, but it forces the quest log all the way over to the right side of the screen.
I preferred the original behavior where the quest log was positioned relative to the vertical multi bars being enabled in Interface Options, but I can work around it if it's a pain to fix.
In any case, thanks for the quick fix!
Can you try running the classic version to see if it resolves it for you?
https://www.wowinterface.com/downloads/fileinfo.php?id=24918