--- old/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java Mon Oct 29 18:49:00 2012 +++ new/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java Mon Oct 29 18:48:59 2012 @@ -31,6 +31,8 @@ import java.awt.KeyEventPostProcessor; import java.awt.Window; import java.awt.Toolkit; + +import sun.awt.AWTAccessor; import sun.awt.SunToolkit; import java.awt.event.ActionEvent; @@ -133,10 +135,15 @@ // window. If this time appears to be greater than the altRelease // event time the event is skipped to avoid unexpected menu // activation. See 7121442. + // Also we must ensure that original source of key event belongs + // to the same window object as winAncestor. See 8001633. boolean skip = false; Toolkit tk = Toolkit.getDefaultToolkit(); if (tk instanceof SunToolkit) { - skip = ev.getWhen() <= ((SunToolkit)tk).getWindowDeactivationTime(winAncestor); + Component originalSource = AWTAccessor.getKeyEventAccessor() + .getOriginalSource(ev); + skip = ev.getWhen() <= ((SunToolkit) tk).getWindowDeactivationTime(winAncestor) + || SunToolkit.getContainingWindow(originalSource) != winAncestor; } if (menu != null && !skip) {