Mercurial > hg > openjdk > jdk8u > jdk
changeset 13472:c7becddb7446
8213983: [macosx] Keyboard shortcut ?cmd +`? stops working properly if popup window is displayed
Reviewed-by: kaddepalli, serb
author | dmarkov |
---|---|
date | Thu, 06 Dec 2018 13:32:15 +0000 |
parents | b2db5642007b |
children | 337a670d5efa |
files | src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java |
diffstat | 1 files changed, 7 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Tue Oct 02 13:48:08 2018 +0200 +++ b/src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Thu Dec 06 13:32:15 2018 +0000 @@ -1131,27 +1131,18 @@ } private void orderAboveSiblings() { + // Recursively pop up the windows from the very bottom, (i.e. root owner) so that + // the windows are ordered above their nearest owner; ancestors of the window, + // which is going to become 'main window', are placed above their siblings. CPlatformWindow rootOwner = getRootOwner(); + if (rootOwner.isVisible() && !rootOwner.isIconified() && !rootOwner.isActive()) { + rootOwner.execute(CWrapper.NSWindow::orderFront); + } // Do not order child windows of iconified owner. if (!rootOwner.isIconified()) { final WindowAccessor windowAccessor = AWTAccessor.getWindowAccessor(); - Window[] windows = windowAccessor.getOwnedWindows(rootOwner.target); - - // No need to order windows if it doesn't own other windows and hence return - if (windows.length == 0) { - return; - } - - // Recursively pop up the windows from the very bottom, (i.e. root owner) so that - // the windows are ordered above their nearest owner; ancestors of the window, - // which is going to become 'main window', are placed above their siblings. - if (rootOwner.isVisible()) { - rootOwner.execute(CWrapper.NSWindow::orderFront); - } - - // Order child windows. - orderAboveSiblingsImpl(windows); + orderAboveSiblingsImpl(windowAccessor.getOwnedWindows(rootOwner.target)); } }