Repository navigation
fix(options): stop dropdown subnav flyouts overlapping and clipping text - #2734
Merged
EllesmereGaming merged 1 commit intoOct 16, 2026
Merged
Conversation
Hovering a subnav row now hides the other flyouts at once instead of leaving the previous one up for its 0.25s close delay under the new one. Each flyout is also sized to its widest row, never narrower than the dropdown, so long child labels stay inside the box.
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.
What does this PR do?
Fixes two display bugs in dropdowns that open submenus. Reported on Forever in Forever Essentials > Macros > Lines > Add Line ("Choose a type"):
Cause. In
BuildDropdownMenu, leaving a subnav row closes its flyout throughCloseFlyoutLater(0.25), but hovering the next row opens that row's flyout straight away. The old flyout stays up under the new one until its timer runs out. Each flyout was also given the closed dropdown's width (menuW), whatever its rows contain.Fix.
menu._flyouts) before showing its own.menuW, so menus whose labels already fit look the same as before.This is in the shared widget, so it applies to every dropdown with submenus, not just the macro editor.
How was it tested?
.tools/guardrails.py --base upstream/mainpass.EllesmereUI.Lstrings changed, so_keys.txtis unchanged.mainbefore and after this commit. Before, the Targeting labels run past the submenu's edge. After, the submenu fits its longest label. Not tested on the retail client.Screenshots
Before: the Targeting labels run past the submenu's right edge.
After: the submenu is as wide as its longest label.
The overlap only lasts while moving between categories, so a still screenshot doesn't capture it. It shows in the reporter's recording.
Checklist
GetStringWidthandSetSizeare already used in this file). Tested in game on WoW Forever only, not on the retail client.