src/solaris/classes/sun/awt/X11/XContentWindow.java

Print this page

        

*** 22,34 **** * or visit www.oracle.com if you need additional information or have any * questions. */ package sun.awt.X11; ! import java.awt.Component; ! import java.awt.Rectangle; ! import java.awt.Insets; import java.awt.event.ComponentEvent; import sun.util.logging.PlatformLogger; --- 22,32 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ package sun.awt.X11; ! import java.awt.*; import java.awt.event.ComponentEvent; import sun.util.logging.PlatformLogger;
*** 160,169 **** --- 158,184 ---- // Normal case: [it is not a frame or] the frame is not iconified. super.handleExposeEvent(target, x, y, w, h); } } + public void handleButtonPressRelease(XEvent xev) { + if (xev.get_type() == XConstants.ButtonPress) { + Window parentWindow = (Window)parentFrame.getTarget(); + /* + * In case the decorated frame is active but not focused + * (that is an owned window is currently focused) + * it should be made a focused window. + * This is needed to focus the frame when it's clicked + * in an empty spot of its content area. See 6886678. + */ + if (parentWindow != null && parentWindow.isActive() && !parentWindow.isFocused()) { + parentFrame.requestWindowFocus(); + } + } + super.handleButtonPressRelease(xev); + } + void purgeIconifiedExposeEvents() { for (SavedExposeEvent evt : iconifiedExposeEvents) { super.handleExposeEvent(evt.target, evt.x, evt.y, evt.w, evt.h); } iconifiedExposeEvents.clear();