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. ------------- Commit messages: - 8351094: macOS: MenuBar with custom menu items disappears Changes: https://git.openjdk.org/jfx/pull/2125/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2125&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8351094 Stats: 5 lines in 1 file changed: 1 ins; 0 del; 4 mod Patch: https://git.openjdk.org/jfx/pull/2125.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/2125/head:pull/2125 PR: https://git.openjdk.org/jfx/pull/2125
