On Tue, 17 Mar 2026 16:06:10 GMT, Jose Pereda <[email protected]> wrote:
>> This PR fixes an issue on macOS with a system menu bar, that happens when a >> dialog is shown while a menu from the system menu bar is also showing. >> >> Currently the menubar is removed whenever the stage loses focus, but that >> causes a broken state in the menu (as reported in >> https://bugs.openjdk.org/browse/JDK-8335541) as the dialog showing prevents >> for a clean tear down of the menubar. And even if there were no issues, >> there is actually no need of destroying and recreating the same menubar all >> over again, since nothing really changed (the dialog doesn't have a menubar >> on its own, and shares the very same one from its owner stage). >> >> A test has been added, that fails before this patch and passes with it. >> Another minor test has been included, just to give some details about what >> happens when a menu titled exactly `"Help"` is added to the system menu bar. >> It works before and after the patch. >> >> While adding the test, I noticed that there were failures when the menu was >> hidden: >> >> SystemMenuBarHelpMenuTest STANDARD_ERROR >> Exception in thread "JavaFX Application Thread" >> java.lang.IllegalStateException: Not on FX application thread; currentThread >> = JavaFX Application Thread >> at >> javafx.graphics@27-internal/com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:282) >> at >> javafx.graphics@27-internal/com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:480) >> at >> javafx.controls@27-internal/javafx.scene.control.Menu.hide(Menu.java:428) >> at >> javafx.graphics@27-internal/com.sun.javafx.tk.quantum.GlassMenuEventHandler.handleMenuClosed(GlassMenuEventHandler.java:46) >> at >> javafx.graphics@27-internal/com.sun.glass.ui.Menu.notifyMenuClosed(Menu.java:196) >> >> so I wrapped the calls in `Menu::notifyMenuClosed` and >> `Menu::notifyMenuClosed` with ` Utils::runOnFxThread`. > > Jose Pereda has updated the pull request incrementally with one additional > commit since the last revision: > > Address feedback Works much better now, as expected - the system menu stays up with the popup open, and when minimized. BTW, I also could not reproduce the exact scenario in the ticket, instead saw this: * BUG macOS 26.3.1: * - click on system menu, the pulldown shows Search Field + About * - dialog appears, the expanded menu pulldown hides * - click on Help, hold -> see About, no search field * - release mouse -> entire menu disappears tests/system/src/test/java/test/robot/javafx/scene/SystemMenuBarHelpMenuTest.java line 243: > 241: stage.show(); > 242: } > 243: minor: extra newline it's ok to merge though since it's in a test ------------- Marked as reviewed by angorya (Reviewer). PR Review: https://git.openjdk.org/jfx/pull/2107#pullrequestreview-3983703487 PR Review Comment: https://git.openjdk.org/jfx/pull/2107#discussion_r2967658230
