On Tue, 25 Nov 2025 17:26:36 GMT, Martin Fox <[email protected]> wrote:

> 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.

I was able to make a variant of the bug happen on macOS 26. I ran the 
OwnerIconify test program against jfx:master on a system with two monitors, 
minimized the main window (all children minimized), then unplugged one of the 
monitors. The two child windows were shown (unminized). I get the same behavior 
if I plug in a new monitor. With this patch the windows all stay minimized.

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

PR Comment: https://git.openjdk.org/jfx/pull/1985#issuecomment-3583452759

Reply via email to