Dominos

Dominos

19M Downloads

Resizing client window causes error

jbelaire opened this issue ยท 6 comments

commented

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.

commented

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.

commented

Out of curiosity I downloaded Bartender 4, and it does not have this issue.

commented

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!

commented

Can you try running the classic version to see if it resolves it for you?
https://www.wowinterface.com/downloads/fileinfo.php?id=24918

commented

Unfortunately, there's not much i can do on that end.