replace poll-until-cancel OnUpdate frames with C_Timer / RunNextFrame

Seven ad-hoc OnUpdate handlers were only spinning long enough to reach
a known deadline or a next-frame defer, then unhooking themselves.
Convert them to their proper primitives:

- autovendor: 0.3s wait after junk sell → C_Timer.After(0.3, ...)
- innervatecall: cooldown-expiry ready ping → C_Timer.After(cd, ...)
- focus: re-arm UI_ERROR_MESSAGE next tick → RunNextFrame
- macrotweak: conflict scan after addons load → RunNextFrame
- ui-widgets (CreateQuestionDialog): font-measure resize → RunNextFrame
- libdebuff: post-PEW Nampower init → RunNextFrame
- bubbles: WorldFrame scan after chat event → RunNextFrame

Net -18 lines and no more throwaway frames sitting on the OnUpdate list.
This commit is contained in:
Brues
2026-07-01 10:43:46 -05:00
parent ffdf376ac4
commit 0f59a3a9b5
7 changed files with 16 additions and 34 deletions
+4 -6
View File
@@ -44,15 +44,13 @@ if GetNampowerVersion then
end
-- Nampower startup check: show version info and ensure CVars are set.
-- Runs on first OnUpdate after PLAYER_ENTERING_WORLD to give Nampower time to initialize.
-- Runs the frame after PLAYER_ENTERING_WORLD so Nampower has finished initializing.
local nampowerCheckFrame = CreateFrame("Frame")
nampowerCheckFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
nampowerCheckFrame:SetScript("OnEvent", function()
-- Defer to next frame so Nampower is fully initialized
this:SetScript("OnUpdate", function()
this:SetScript("OnUpdate", nil)
this:UnregisterAllEvents()
this:SetScript("OnEvent", nil)
this:UnregisterAllEvents()
this:SetScript("OnEvent", nil)
RunNextFrame(function()
if GetNampowerVersion then
local major, minor, patch = GetNampowerVersion()