The code in StageUtils.updateStages() currently has the effect that a global menubar will be reset on all stages on any window change.
The call to setAll(newStages) here will trigger stage listeners even if there has been only changes no non-stage windows and no changes to any stage:
private static void updateStages() {
List<Stage> newStages = new LinkedList<>();
for (Window w : windows) {
if (w instanceof Stage) {
newStages.add((Stage)w);
}
}
stages.setAll(newStages);
}
If popup windows are used when hovering over elements in a scene the effect will be that the system menubar on MacOS flickers when popup windows are shown or hidden.
The code in
StageUtils.updateStages()
currently has the effect that a global menubar will be reset on all stages on any window change. The call tosetAll(newStages)
here will trigger stage listeners even if there has been only changes no non-stage windows and no changes to any stage:If a global menu bar has been set this will trigger this code in
MenuBarSyncListener
.If popup windows are used when hovering over elements in a scene the effect will be that the system menubar on MacOS flickers when popup windows are shown or hidden.