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`.

This pull request has now been integrated.

Changeset: 8833c9b9
Author:    Jose Pereda <[email protected]>
URL:       
https://git.openjdk.org/jfx/commit/8833c9b9c290eabb019c46d370b4ea169ff5b2db
Stats:     266 lines in 2 files changed: 252 ins; 2 del; 12 mod

8335541: [macOS] Help system menu won't hide or it is shown twice

Reviewed-by: arapte, angorya

-------------

PR: https://git.openjdk.org/jfx/pull/2107

Reply via email to