In the macOS glass code an owned window is referred to as a child window and 
its owner is referred to as the parent. When a parent is iconified the glass 
code "iconifies" its children which is to say it hides them. Under the right 
circumstances the children may get ordered back to the front and made visible 
almost immediately.

Details are in the bug report but when a window is iconified it may trigger the 
OS to notify every window that its NSScreen has changed (yes, this is weird). 
This causes reorderChildWindows to be called on the newly iconified parent and 
the process of re-ordering the child windows can cause hidden windows to be 
made visible. For some reason the NSScreen strangeness only happens if "System 
Settings > Desktop & Dock > Minimize windows into application icon" is turned 
OFF. This is not the first time we've encountered this, see 
[JDK-8353902](https://bugs.openjdk.org/browse/JDK-8353902)

This PR fixes the problem in two ways. If reorderChildWindows is called on an 
iconified window it does nothing. If one of the child windows is hidden it is 
not re-ordered since that might make it visible.

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

Commit messages:
 - Do not reorder child window if parent is iconified or child is hidden

Changes: https://git.openjdk.org/jfx/pull/1985/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1985&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8372453
  Stats: 4 lines in 1 file changed: 1 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jfx/pull/1985.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1985/head:pull/1985

PR: https://git.openjdk.org/jfx/pull/1985

Reply via email to