On Mon, 23 Mar 2026 15:48:21 GMT, Dmitry Markov <[email protected]> wrote:

> On macOS the menuBar with a custom menu item may disappear. For example, once 
> switching from the menu with custom item to the system menu. 
> 
> The method `rebuildUI()` in `MenuBarSkin` class clears the menu first, then 
> `menuContainsCustomMenuItem()` correctly blocks promotion to the macOS system 
> menu and prints warning. However `rebuildUI()` returns at line 917: 
> `isUseSystemMenuBar()` returns true but the menu cannot be installed into 
> system menu due to `CustomMenuItem`. As a result the menu bar disappears.
> 
> Fix:
> The `rebuildUI()` has to ensure that the menu does not contain 
> `CustomMenuItem` when switching to the system menu.
> 
> On a side note, for the working scenario described in the bug the same 
> _if-statement_ in `rebuildUI()` woks slightly different: the 
> `currentMenuBarStage` is not _NULL_ but it no longer maps to this skin as a 
> result the method does not return earlier and the menu gets rebuilt.

@dmarkov20 
Your change (at version 466c5da98fc8ff02ca81dcdf195d8588beab9aaa) is now ready 
to be sponsored by a Committer.

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

PR Comment: https://git.openjdk.org/jfx/pull/2125#issuecomment-4137320856

Reply via email to