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
