Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions EllesmereUIBlizzardSkin/EllesmereUIBlizzardSkin_WindowPacks.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12265,12 +12265,33 @@ end
-- bearing (centering the message runs it under the artwork), with it hidden
-- it is a lopsided hole on the left. So all three keep Blizzard's own offset
-- while the glyph is up and go dead center once it is gone.
-- ReadyCheckFrame is protected: a ready check performed while already in
-- combat (a wipe/repull mid-fight) fires this via the SetText hook and hits
-- SetWidth on a protected frame, which the engine hard-blocks with
-- ADDON_ACTION_BLOCKED (field report). Deferred once to PLAYER_REGEN_ENABLED
-- so this actually re-runs once combat clears instead of leaving the popup
-- permanently unfit; the one-shot flag collapses repeat text-hook fires
-- while still in combat into a single retry.
local _rcRetryQueued = false
function LP.FitReadyCheck()
local fr = _G.ReadyCheckFrame
if not fr or fr:IsForbidden() then return end
local d = FFD[fr]
local fs = d and d.rcText
if not fs then return end
if InCombatLockdown() then
if not _rcRetryQueued then
_rcRetryQueued = true
local w = CreateFrame("Frame")
w:RegisterEvent("PLAYER_REGEN_ENABLED")
w:SetScript("OnEvent", function(self)
self:UnregisterAllEvents()
_rcRetryQueued = false
LP.FitReadyCheck()
end)
end
return
end

if not d.rcBaseW then
local w = fr:GetWidth()
Expand Down