mirror of
https://github.com/brues-code/SuperCleveRoidMacros.git
synced 2026-09-16 03:38:00 +00:00
Use ClassicAPI EventUtil for addon-load/login extension wiring
Replace hand-rolled ADDON_LOADED/PLAYER_LOGIN handlers with
EventUtil.ContinueOnAddOnLoaded / ContinueOnPlayerLogin, which fire
immediately if the event already happened -- removing the "we loaded before
the target addon and missed its ADDON_LOADED" workarounds.
- pfUI compat: ContinueOnAddOnLoaded("pfUI") + ContinueOnPlayerLogin; drops
the missed-event fallback (login path still re-runs SetupCompatibility).
- MacroErrorUI / MacroLengthWarn: ContinueOnAddOnLoaded("Blizzard_MacroUI"),
folding their manual "already loaded" checks.
- 9 Mouseover extensions (ag_UnitFrames, CT_RaidAssist, CT_UnitFrames,
DiscordUnitFrames, Grid, NotGrid, Cursive, sRaidFrames, PerfectRaid):
ContinueOnAddOnLoaded("<AddonName>", OnLoad). Since immediate-fire passes no
event args, the old `arg1 == "X"` checks are replaced by the addon-name gate
(global guards kept where present); also removes the buggy
UnregisterEvent("ADDON_LOADED", "Onload") no-ops that never fired.
Addon names match file names; drops support for renamed folders (e.g. -master).
This commit is contained in:
@@ -133,12 +133,6 @@ function Extension.OnMacroFrameLoad()
|
||||
end
|
||||
end
|
||||
|
||||
function Extension.OnAddonLoaded()
|
||||
if arg1 == "Blizzard_MacroUI" then
|
||||
Extension.OnMacroFrameLoad()
|
||||
end
|
||||
end
|
||||
|
||||
function Extension.OnLoad()
|
||||
-- Schedule messages to show after UI is ready
|
||||
local function ShowMessages()
|
||||
@@ -178,16 +172,11 @@ function Extension.OnLoad()
|
||||
end
|
||||
end
|
||||
|
||||
-- Listen for macro UI loading
|
||||
Extension.RegisterEvent("ADDON_LOADED", "OnAddonLoaded")
|
||||
-- Hook the macro UI once available (fires immediately if already loaded).
|
||||
EventUtil.ContinueOnAddOnLoaded("Blizzard_MacroUI", Extension.OnMacroFrameLoad)
|
||||
|
||||
-- Also try to hook MacroFrame_SaveMacro if it already exists
|
||||
if MacroFrame_SaveMacro then
|
||||
Extension.OnMacroFrameLoad()
|
||||
end
|
||||
|
||||
-- Register PLAYER_LOGIN to show status messages
|
||||
Extension.RegisterEvent("PLAYER_LOGIN", "OnPlayerLogin")
|
||||
-- Status messages on login (currently disabled inside OnPlayerLogin).
|
||||
EventUtil.ContinueOnPlayerLogin(Extension.OnPlayerLogin)
|
||||
|
||||
-- Store the message function for later
|
||||
Extension.ShowMessages = ShowMessages
|
||||
|
||||
Reference in New Issue
Block a user