fix #378: Config-tab dropdown menus render bare with no popup chrome

Root cause: DatWidgetFactory builds Config-tab Type-0x10000038 menu
leaves as bare UiMenu instances (matching the vendor/chat channel menu
pattern), but unlike those two controllers, ConfigOptionsPageController
never wired the menu's sprite/font/geometry properties after Bind — so
every dropdown rendered as plain text with no button well, no arrow
cap, and opened no popup on click (#374's fix only corrected click
ROUTING, not the missing chrome).

Fix: ConfigOptionsPageController.ApplyMenuChrome wires every Config-tab
menu row with the SAME retail sprite ids VendorUiController/
ChatWindowController's channel menu already use for this shared popup
catalog (LayoutDesc 0x21000043), verified against the live DAT via
OptionsPanelLiveMountProbeTests' ProbeConfigMenuChrome/
ProbeConfigMenuPopupChrome probes. Regressed by
ConfigOptionsPageControllerTests.MenuRow_SoundFeatures_OpensAndSelects
ThroughRealHitPath_UsingAuthoredPopupGeometry, which drives the real
click-to-open + item-pick path through the authored popup geometry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-11 23:00:29 +02:00
parent 28bef4e03b
commit c121842664
6 changed files with 524 additions and 35 deletions

View file

@ -622,7 +622,14 @@ should show no caption.
open popup dismisses it without acting on what's below. While
FULLSCREEN a resolution pick cannot switch the display mode yet
(Silk API limit, #376) — it applies on the next return to windowed;
do not report that as a step-8 failure.
do not report that as a step-8 failure. **Gate-4 re-test note (#378):**
the SAME row (and every other Config-tab dropdown — Sound Features, the
four texture-detail menus, the two Chat Font menus) previously rendered
as bare text with no button well/arrow and no visible popup at all
(#374's fix only corrected click ROUTING, not the missing chrome). Every
dropdown now shows the sunken value-well face + green arrow cap and
opens a real bordered, scrollable popup on click — report if ANY
Config-tab dropdown still renders bare text.
9. **Toggle "Full Screen".** The window should switch between windowed and
fullscreen IMMEDIATELY, live.
10. **Toggle "Sync To Refresh" (VSync) and drag the "Field of View"