Dominos

Dominos

20M Downloads

[MoP Classic] WoW Bug affecting pet battle show state

Road-block opened this issue · 8 comments

commented

When reporting an issue, please try to reproduce the issue with just Dominos and Dominos_Config running. Dominos reuses a good chunk of the stock UI, and other popular addons, like Move Anything, like to take control of those parts, too.

Addon Version
You can get this via running /dominos version in game
11.1.5

World of Warcraft Version
MoP Classic Beta Build 60802 "May 12 2025"

Due to this Stanzilla/WoWUIBugs#734 an advanced Show State of [petbattle]hide;show is not functional for Dominos actionbars which makes a typical bottom center placement obscure / overlap the pet battle UI.
The RegisterAttributeDriver bit for [petbattle]1;0 that's already part of the addon is also not functional obviously.

This might get fixed in some subsequent beta build but maybe not; "Just Blizzard things ™ "

commented

Still seems to be an issue on prepatch

commented

Image

If you go into your /dominos config for each bar you want auto-hiding in pet battles and input
[petbattle]hide;show they will hide properly.

It seems like the Dominos defaults are not working but the API is ok now.

commented

Taint was a worry but I didn't observe any doing this. Might be because of the level of indirection. The table stores names of frames not frame references directly. (similar to UISpecialFrames table)

You know best in any case, having done secure code for years; I've only dabbled :D

commented

Hopefully Blizzard fixes the issue. Typically in cases like this I’d opt to setup watchers for the pet battle ui and the override ui to do this in a way that avoids taint

commented

As a test I piggybacked on the blizzard system for hiding frames by adding this hardcoded list in Addon:Load() (can obviously be done better)

    local petbattle_HIDE_MOST = FRAMELOCK_STATES.PETBATTLES
    if not petbattle_HIDE_MOST["DominosFrame1"] then
        FRAMELOCK_STATES.PETBATTLES = Mixin(petbattle_HIDE_MOST,{
            DominosFrame1 = "hidden",
            DominosFrame2 = "hidden",
            DominosFrame3 = "hidden",
            DominosFrameclass = "hidden",
        })
    end
commented

This can also be done at the frame factory in \core\frame.lua Frame:Create(id) on a frame by frame basis.

    local petbattle_HIDE_MOST = FRAMELOCK_STATES.PETBATTLES
    if not petbattle_HIDE_MOST[frameName] then
        FRAMELOCK_STATES.PETBATTLES = Mixin(petbattle_HIDE_MOST,{
            [frameName] = "hidden",
        })
    end 

While it would be a workaround to recover the ability to hide Dominos bars when entering a petbattle, I haven't thought of a way to recover the Override Bar option when "Use Blizzard Override Action Bar" is unchecked.

commented

Fixed in the June 10 build of MoP Beta

commented

Yay