Skip to content

Pinned frames: re-apply on zone-in so they show on BG/arena entry#162

Open
Krathe82 wants to merge 2 commits into
DanderBot:mainfrom
Krathe82:pr/pinned-pew-entry
Open

Pinned frames: re-apply on zone-in so they show on BG/arena entry#162
Krathe82 wants to merge 2 commits into
DanderBot:mainfrom
Krathe82:pr/pinned-pew-entry

Conversation

@Krathe82

Copy link
Copy Markdown
Contributor

Reported: pinned frames often don't appear when entering a battleground/arena — the user has to open settings and disable+re-enable the set to make them show. (Confirmed not the Disable in PvP gate — that was off for the reporter.)

Cause: PinnedFrames never registered PLAYER_ENTERING_WORLD. The show path (SetEnabled) is normally driven by roster events, but on a BG/arena entry those fire as you're added to the instance raid — before the instance/frames/roster names are ready, and often in combat (where Reinitialize defers). With nothing re-driving it once the zone-in settled, the containers stayed hidden. The manual toggle only worked because it calls SetEnabled directly.

Fix: register PLAYER_ENTERING_WORLD and re-apply once the instance has settled — reinitialize on a party↔raid mode change, otherwise re-assert each set's visibility + a debounced ProcessAllSets. In combat, defer via the existing pendingReinitialize path (drained on PLAYER_REGEN_ENABLED).

Self-contained — one file, +32 lines.

Krathe82 added 2 commits June 16, 2026 13:49
…entry

Pinned sets often failed to appear on entering a battleground/arena until
the user manually disabled+re-enabled them in settings. PinnedFrames never
registered PLAYER_ENTERING_WORLD, so nothing re-drove the show path
(SetEnabled) once the instance finished loading: the roster events that
normally trigger it fire as you're added to the BG raid — before the
instance/frames/roster names are ready, and often in combat (where
Reinitialize defers). With no zone-in re-apply, the containers stayed
hidden; the manual toggle worked only because it calls SetEnabled directly.

Register PLAYER_ENTERING_WORLD and re-apply once the instance has settled:
reinitialize on a party<->raid mode change, otherwise re-assert each set's
visibility + debounced ProcessAllSets. In combat, defer via the existing
pendingReinitialize path (drained on PLAYER_REGEN_ENABLED). Not the PvP
disable gate (verified off for the reporter) — purely the missing trigger.
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.

1 participant