Skip to content

Commit 2651489

Browse files
committed
spawn the movers first
1 parent af22ffc commit 2651489

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

ElvUI/Core/Modules/ActionBars/ExtraAB.lua

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -212,12 +212,6 @@ function AB:HandleZoneAbility()
212212
if not ZoneAbilityFrame then return end
213213

214214
if not extraHooked[ZoneAbilityFrame] then
215-
ZoneAbilityHolder = CreateFrame('Frame', nil, E.UIParent)
216-
ZoneAbilityHolder:Point('BOTTOM', E.UIParent, 'BOTTOM', 150, 300)
217-
E.FrameLocks[ZoneAbilityHolder] = true
218-
219-
E:CreateMover(ZoneAbilityHolder, 'ZoneAbility', L["Zone Ability"], nil, nil, nil, 'ALL,ACTIONBARS', nil, 'actionbar,extraButtons,extraActionButton')
220-
221215
ZoneAbilityFrame.SpellButtonContainer.holder = ZoneAbilityHolder
222216
ZoneAbilityFrame.SpellButtonContainer:HookScript('OnEnter', AB.ExtraButtons_OnEnter)
223217
ZoneAbilityFrame.SpellButtonContainer:HookScript('OnLeave', AB.ExtraButtons_OnLeave)
@@ -233,21 +227,16 @@ function AB:HandleZoneAbility()
233227
ZoneAbilityFrame:SetAllPoints()
234228
ZoneAbilityFrame.ignoreInLayout = true
235229

236-
-- Spawn the mover before its available.
237-
ZoneAbilityHolder:Size(52 * E.db.actionbar.zoneActionButton.scale)
230+
if ZoneAbilityHolder then
231+
ZoneAbilityHolder:Size(52 * E.db.actionbar.zoneActionButton.scale)
232+
end
238233
end
239234

240235
function AB:HandleExtraAbility()
241236
local ExtraAbilityContainer = _G.ExtraAbilityContainer
242237
if not ExtraAbilityContainer then return end
243238

244239
if not extraHooked[ExtraAbilityContainer] then
245-
ExtraActionBarHolder = CreateFrame('Frame', nil, E.UIParent)
246-
ExtraActionBarHolder:Point('BOTTOM', E.UIParent, 'BOTTOM', -150, 300)
247-
E.FrameLocks[ExtraActionBarHolder] = true
248-
249-
E:CreateMover(ExtraActionBarHolder, 'BossButton', L["Boss Button"], nil, nil, nil, 'ALL,ACTIONBARS', nil, 'actionbar,extraButtons,extraActionButton')
250-
251240
-- try to shutdown the container movement and taints
252241
ExtraAbilityContainer:KillEditMode()
253242
ExtraAbilityContainer:SetScript('OnShow', nil)
@@ -261,7 +250,27 @@ function AB:HandleExtraAbility()
261250
end
262251
end
263252

253+
function AB:CreateExtraHolders()
254+
if not ExtraActionBarHolder then
255+
ExtraActionBarHolder = CreateFrame('Frame', nil, E.UIParent)
256+
ExtraActionBarHolder:Point('BOTTOM', E.UIParent, 'BOTTOM', -150, 300)
257+
E.FrameLocks[ExtraActionBarHolder] = true
258+
259+
E:CreateMover(ExtraActionBarHolder, 'BossButton', L["Boss Button"], nil, nil, nil, 'ALL,ACTIONBARS', nil, 'actionbar,extraButtons,extraActionButton')
260+
end
261+
262+
if not ZoneAbilityHolder then
263+
ZoneAbilityHolder = CreateFrame('Frame', nil, E.UIParent)
264+
ZoneAbilityHolder:Point('BOTTOM', E.UIParent, 'BOTTOM', 150, 300)
265+
E.FrameLocks[ZoneAbilityHolder] = true
266+
267+
E:CreateMover(ZoneAbilityHolder, 'ZoneAbility', L["Zone Ability"], nil, nil, nil, 'ALL,ACTIONBARS', nil, 'actionbar,extraButtons,extraActionButton')
268+
end
269+
end
270+
264271
function AB:SetupExtraButton()
272+
AB:CreateExtraHolders()
273+
265274
if _G.ZoneAbilityFrame then
266275
AB:HandleZoneAbility()
267276
end
@@ -286,6 +295,7 @@ function AB:UpdateExtraBindings()
286295

287296
for _, button in pairs(extraBtns) do
288297
button.HotKey:SetText(GetBindingKey(button.commandName))
298+
289299
AB:FixKeybindText(button)
290300
AB:FixKeybindColor(button)
291301
end

0 commit comments

Comments
 (0)