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

Print this page

        

*** 127,138 **** */ private static final int MAXIMUM_BUFFER_LENGTH_NET_WM_ICON = (2<<15) - 1; void preInit(XCreateWindowParams params) { target = (Component)params.get(TARGET); - params.put(REPARENTED, - Boolean.valueOf(isOverrideRedirect() || isSimpleWindow())); super.preInit(params); params.putIfNull(BIT_GRAVITY, Integer.valueOf(XConstants.NorthWestGravity)); long eventMask = 0; if (params.containsKey(EVENT_MASK)) { --- 127,136 ----
*** 515,531 **** postEvent(new WindowEvent((Window)target, WindowEvent.WINDOW_STATE_CHANGED, oldState, newState)); } - /** - * DEPRECATED: Replaced by getInsets(). - */ - public Insets insets() { - return getInsets(); - } - boolean isAutoRequestFocus() { if (XToolkit.isToolkitThread()) { return WindowAccessor.isAutoRequestFocus((Window)target); } else { return ((Window)target).isAutoRequestFocus(); --- 513,522 ----
*** 712,721 **** --- 703,716 ---- @Override public void handleConfigureNotifyEvent(XEvent xev) { // TODO: We create an XConfigureEvent every time we override // handleConfigureNotify() - too many! XConfigureEvent xe = xev.get_xconfigure(); + if (xe.get_window() != getWindow()) { + return; + } + checkIfOnNewScreen(new Rectangle(xe.get_x(), xe.get_y(), xe.get_width(), xe.get_height()));
*** 1175,1184 **** --- 1170,1183 ---- } } } public void handleMapNotifyEvent(XEvent xev) { + if (xev.get_xany().get_window() != getWindow()) { + return; + } + // See 6480534. isUnhiding |= isWMStateNetHidden(); super.handleMapNotifyEvent(xev); if (!winAttr.initialFocus) {
*** 1209,1218 **** --- 1208,1220 ---- } } } public void handleUnmapNotifyEvent(XEvent xev) { + if (xev.get_xany().get_window() != getWindow()) { + return; + } super.handleUnmapNotifyEvent(xev); // On Metacity UnmapNotify comes before PropertyNotify (for _NET_WM_STATE_HIDDEN). // So we also check for the property later in MapNotify. See 6480534. isUnhiding |= isWMStateNetHidden();
*** 1295,1309 **** else return hasBits; } } ! void setReparented(boolean newValue) { ! super.setReparented(newValue); XToolkit.awtLock(); try { ! if (isReparented() && delayedModalBlocking) { addToTransientFors((XDialogPeer) ComponentAccessor.getPeer(modalBlocker)); delayedModalBlocking = false; } } finally { XToolkit.awtUnlock(); --- 1297,1320 ---- else return hasBits; } } ! @Override ! public boolean mayBeReparented() { ! return ! !isOverrideRedirect() && ! !isSimpleWindow() && ! super.mayBeReparented(); ! } ! ! @Override ! public void setNativeParent(long parent) { ! super.setNativeParent(parent); XToolkit.awtLock(); try { ! if (!mayBeReparented() && delayedModalBlocking) { addToTransientFors((XDialogPeer) ComponentAccessor.getPeer(modalBlocker)); delayedModalBlocking = false; } } finally { XToolkit.awtUnlock();
*** 1389,1410 **** XDialogPeer blockerPeer = (XDialogPeer) ComponentAccessor.getPeer(d); if (blocked) { log.log(Level.FINE, "{0} is blocked by {1}", new Object[] { this, blockerPeer}); modalBlocker = d; ! if (isReparented() || XWM.isNonReparentingWM()) { addToTransientFors(blockerPeer, javaToplevels); } else { delayedModalBlocking = true; } } else { if (d != modalBlocker) { throw new IllegalStateException("Trying to unblock window blocked by another dialog"); } modalBlocker = null; ! if (isReparented() || XWM.isNonReparentingWM()) { removeFromTransientFors(); } else { delayedModalBlocking = false; } } --- 1400,1421 ---- XDialogPeer blockerPeer = (XDialogPeer) ComponentAccessor.getPeer(d); if (blocked) { log.log(Level.FINE, "{0} is blocked by {1}", new Object[] { this, blockerPeer}); modalBlocker = d; ! if (!mayBeReparented()) { addToTransientFors(blockerPeer, javaToplevels); } else { delayedModalBlocking = true; } } else { if (d != modalBlocker) { throw new IllegalStateException("Trying to unblock window blocked by another dialog"); } modalBlocker = null; ! if (!mayBeReparented()) { removeFromTransientFors(); } else { delayedModalBlocking = false; } }