src/java.desktop/macosx/classes/sun/lwawt/LWWindowPeer.java
Print this page
*** 1294,1303 ****
--- 1294,1309 ----
// ungrab a simple window if its owner looses activation.
grabbingWindow.ungrab();
}
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;
WindowEvent windowEvent = new TimedWindowEvent(getTarget(), eventID, opposite, System.currentTimeMillis());