MoveAny (Edit Mode, Windows and Ui)

MoveAny (Edit Mode, Windows and Ui)

5M Downloads

Masque incompatibilities

kstange opened this issue ยท 2 comments

commented

Hi,

I'm the maintainer of Masque Blizzard Bars.

A user reported a compatibility issue with MoveAny. Due to the structure of our two addons, I think my addon is the better place to add compatibility hooks, but I may need some changes from your side so that I can better react to what you're doing.

The compatibility issue is three separate behaviors where the default FloatingBG appears behind the action bars, even though Masque normally replaces or hides it.

The first case happens because my addon loads before yours does (alphabetical order) and it doesn't pick up the FloatingBG textures added to the main action bar because they are added after I skin the buttons. As a workaround, I can force my addon to load later with ## OptionalDeps: MoveAny in my own TOC files.

Second, if the option "Always Show Action Bars" is toggled, it restores the FloatingBG to ALL of the action bars. I tried to build a workaround for this, but your current method checkd if the option has changed on a looping 0.5 second timer, so I can't actually detect the change and counteract it.

For this problem, I think it would generally be a better implementation if you used the CVAR_UPDATE event like this:

f = CreateFrame("Frame")
f:RegisterEvent("CVAR_UPDATE")
f:SetScript("OnEvent", EventHandler)

function EventHandler(event, target, value)
        if event == "CVAR_UPDATE" then
                if target == "alwaysShowActionBars" then
                        ActionBarUpdate(value)
                end
        end
end

If you defined the function I labeled ActionBarUpdate() in my example as a global, I could test for it and hook it with hooksecurefunc() and call Masque's Group:ReSkin() on each affected group after it your function runs.

Finally, there's an intermittent issue that I'm not sure of the cause of, where sometimes all of the bars have the FloatingBG visible when the character first logs in. I haven't been able to reproduce it reliably, but a /reload will typically fix it. This seems like a race condition, but I haven't been able to figure out what code is causing it.

Let me know if you have any thoughts or feedback.

Thanks!

commented

please try
v1.6.35
"UpdateActionBarBackground"

commented

Looks like this works well. Thanks for the quick turnaround.