On Thu, 12 Mar 2026 23:48:59 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`. I filed the JBS ticket two years ago, and by that time, I could see both menus (like in https://bugs.openjdk.org/secure/attachment/109933/twoMenuPopups.png). Now I'm running 26.3.1, and I can't reproduce exactly that issue, but different versions of it, where there is at least one time where the menu doesn't show the Spotlight search field, the shown About2 menu is "broken" (clicking on it doesn't trigger its action), or the menubar is removed unexpectedly: https://github.com/user-attachments/assets/b7e9977a-b63a-41d5-9545-cb9469436938 ------------- PR Comment: https://git.openjdk.org/jfx/pull/2107#issuecomment-4060691871
