Mercurial > hg > openjdk > aarch64-port > jdk
changeset 10715:ce27a01f77ce
8074481: [macosx] Menu items are appearing on top of other windows
Reviewed-by: ant, serb
author | anashaty |
---|---|
date | Mon, 30 Mar 2015 18:04:09 +0300 |
parents | 36d432e9be13 |
children | 2c6ed934f83b |
files | src/macosx/classes/sun/lwawt/LWWindowPeer.java src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java |
diffstat | 2 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/macosx/classes/sun/lwawt/LWWindowPeer.java Mon Mar 30 18:32:23 2015 +0400 +++ b/src/macosx/classes/sun/lwawt/LWWindowPeer.java Mon Mar 30 18:04:09 2015 +0300 @@ -1295,6 +1295,12 @@ } KeyboardFocusManagerPeer kfmPeer = LWKeyboardFocusManagerPeer.getInstance(); + + if (!becomesFocused && kfmPeer.getCurrentFocusedWindow() != getTarget()) { + // late window focus lost event - ingoring + return; + } + kfmPeer.setCurrentFocusedWindow(becomesFocused ? getTarget() : null); int eventID = becomesFocused ? WindowEvent.WINDOW_GAINED_FOCUS : WindowEvent.WINDOW_LOST_FOCUS;
--- a/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java Mon Mar 30 18:32:23 2015 +0400 +++ b/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java Mon Mar 30 18:04:09 2015 +0300 @@ -161,7 +161,7 @@ } // ignore focus "lost" native request as it may mistakenly // deactivate active window (see 8001161) - if (globalFocusedWindow == this && parentWindowActive) { + if (globalFocusedWindow == this) { responder.handleWindowFocusEvent(parentWindowActive, null); } }