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. I rebased to pick up the latest changes, in particular https://github.com/openjdk/jfx/pull/2107, and verified that everything still works as expected. Looking for a second reviewer. ------------- PR Comment: https://git.openjdk.org/jfx/pull/2125#issuecomment-4135947854
