--- old/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java Fri Oct 26 21:01:37 2012 +++ new/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java Fri Oct 26 21:01:37 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; @@ -138,6 +140,13 @@ if (tk instanceof SunToolkit) { skip = ev.getWhen() <= ((SunToolkit)tk).getWindowDeactivationTime(winAncestor); } + // We must insure that original source of key event belongs to the same window object as winAncestor. + if (!skip) { + Component originalSource = AWTAccessor.getKeyEventAccessor() + .getOriginalSource(ev); + skip = !(originalSource == winAncestor || + SwingUtilities.getWindowAncestor(originalSource) == winAncestor); + } if (menu != null && !skip) { MenuElement[] path = new MenuElement[2];