I checked FreebGrid. He is doing
Lua Code:
local setHeaderScale = function(scale)
for k, v in pairs(ns._Headers) do
if v then
v:SetScale(scale)
end
end
end
function ns:scaleRaid()
if not ns.db.scaleYes then
setHeaderScale(ns.db.scale)
return
end
local numRaiders = GetNumGroupMembers()
if numRaiders > 25 then
setHeaderScale(ns.db.scale40)
elseif numRaiders > 10 then
setHeaderScale(ns.db.scale25)
else
setHeaderScale(ns.db.scale)
end
end
local updateRaid = CreateFrame"Frame"
updateRaid:RegisterEvent("GROUP_ROSTER_UPDATE")
updateRaid:RegisterEvent("PLAYER_ENTERING_WORLD")
updateRaid:SetScript("OnEvent", function(self)
if(InCombatLockdown()) then
self:RegisterEvent('PLAYER_REGEN_ENABLED')
else
self:UnregisterEvent('PLAYER_REGEN_ENABLED')
ns:scaleRaid()
end
end)
So basically waiting for out of combat to change the scale of a raid.