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

Marked as reviewed by arapte (Reviewer).

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

PR Review: https://git.openjdk.org/jfx/pull/2107#pullrequestreview-4006413923

Reply via email to