#1994 Anchor the Tab spell-list menu to the live editbox, not a stale editor frame - #1995
Merged
TimothyLuke merged 1 commit intoAug 21, 2026
Conversation
…not a stale editor frame After a /reload the TimothyLuke#1989 Tab spell list worked, then silently stopped appearing once the editor had been re-created (e.g. across a combat transition). The handler still fired; the menu never opened. The owner it anchored to reported hidden: GSE.CreateSpellEditBox is defined once, guarded by GSE.isEmpty, inside the first editor ever created, so the `editframe` inside it is a permanent upvalue to that first editor. The TimothyLuke#1989 wiring passed editframe.frame as the menu owner instead of the factory's `frame` parameter (the current editor's frame), and Blizzard will not open a context menu on a hidden owner. - Editor.lua: pass the factory's `frame` parameter to the Tab hooks. - QoL.lua: anchor all four Tab menus to the editbox itself -- visible by definition when Tab fires -- the same approach the icon Select menu already takes with its panel-local frame. Fixes TimothyLuke#1994 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1994 (follow-up to #1989)
Problem
The Tab spell list worked after a /reload, then silently stopped once the editor had been re-created (e.g. across a combat transition). Debug at failure:
owner shown= false, editors= 1, ownerIsNewest= false— the handler fires, but its menu owner is a hidden frame, and Blizzard won't open a context menu on a hidden region.Root cause:
GSE.CreateSpellEditBoxis defined once (if GSE.isEmpty(...)) inside the first editor created, soeditframeinside it is a permanent upvalue to that first editor. The #1989 wiring passededitframe.frameas the menu owner instead of the factory'sframeparameter — my mistake in that PR.Fix (2 files, +12/−7)
frameparameter (the current editor's frame) toOnEditorSpellTab/OnEditorMacroBlockTab.Heads-up (not changed here): the same factory passes the stale
editframeupvalue toUpdateMacroLimitState(..., editframe, version)— the 255-char Save state may be updating the dead editor after a re-create.Verified
In-game: the menu now appears every time, including after combat transitions.
luac -pclean.🤖 Generated with Claude Code