Skip to content

Fix Extra Action Button staying hidden until reload - #1989

Merged
EllesmereGaming merged 1 commit into
EllesmereGaming:mainfrom
dfrisone:fix/extra-action-button-hidden
Sep 7, 2026
Merged

Fix Extra Action Button staying hidden until reload#1989
EllesmereGaming merged 1 commit into
EllesmereGaming:mainfrom
dfrisone:fix/extra-action-button-hidden

Conversation

@dfrisone

@dfrisone dfrisone commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Fixes the Extra Action Button staying invisible after an EUI visibility condition clears, until /reload.

The visibility paths could hide EUI's movable holder, but both restore paths excluded movable holders. Restore the holder in RefreshRuntimeVisibility and UpdateHousingVisibility when the existing visibility evaluator permits it. This also covers the Encounter Bar, which uses the same holder path.

Blizzard retains control of the child frames. Restoration remains outside combat and respects disabled/hidden settings, visibility modes, and pet battles. No new events, polling, timers, or frames are added; the change reuses the existing visibility evaluator during refreshes.

How was it tested?

  • User confirmed that EUI-extra-action-wrapper-test.zip fixed the reported issue in game.
  • Verified that the action-bar source in this PR matches that tested ZIP, ignoring line endings, including after rebasing onto current upstream main.
  • Lua syntax check passed with luac 5.4.6. The EUI style gate passed its Lua 5.1 compatibility and ASCII checks.
  • Reviewed both restore paths, holder ownership, and the shared visibility evaluator. The exact tested client build and a full combat/pet-battle/Encounter Bar regression pass were not supplied; those remain unverified.

Screenshots

Before/after screenshots are not available. The user confirmed the test ZIP's behavior; no screenshots are claimed.

Checklist

  • New settings default OFF (no behavior change without opt-in) - N/A: bug fix; no new settings.
  • Zero cost while disabled: no events registered, no polling, no hooks doing work, no frames built - No new registrations, hooks, polling, or frames; existing disabled visibility gates remain in use.
  • Cheap while enabled: event-driven (no polling, no timer-based logic, no per-frame allocations) - Reuses existing refresh paths and visibility evaluation; no new scheduling or per-frame work.
  • No writes onto Blizzard-owned frames (weak-table pattern used); HookScript/hooksecurefunc only, never SetScript on Blizzard frames - Changed Show calls target EUI-owned holders; no new Blizzard-frame fields or scripts.
  • Tested in-game on live; no version gates or pre-Midnight APIs added - User confirmed the test ZIP worked in game, but live client/build metadata was not supplied. No version gates or pre-Midnight APIs added.

A cat coming out of hiding

@EllesmereGaming
EllesmereGaming merged commit 5b522e8 into EllesmereGaming:main Sep 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants