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

Print this page

        

*** 57,67 **** BACKING_STORE = "backing store", // enables double buffering BIT_GRAVITY = "bit gravity"; // copy old content on geometry change private XCreateWindowParams delayedParams; Set<Long> children = new HashSet<Long>(); ! long window; boolean visible; boolean mapped; boolean embedded; Rectangle maxBounds; volatile XBaseWindow parentWindow; --- 57,67 ---- BACKING_STORE = "backing store", // enables double buffering BIT_GRAVITY = "bit gravity"; // copy old content on geometry change private XCreateWindowParams delayedParams; Set<Long> children = new HashSet<Long>(); ! long window = XConstants.None; boolean visible; boolean mapped; boolean embedded; Rectangle maxBounds; volatile XBaseWindow parentWindow;
*** 921,935 **** --- 921,939 ---- } } // -------------- Event handling ---------------- public void handleMapNotifyEvent(XEvent xev) { + if (xev.get_xany().get_window() == getWindow()) { mapped = true; } + } public void handleUnmapNotifyEvent(XEvent xev) { + if (xev.get_xany().get_window() == getWindow()) { mapped = false; } + } public void handleReparentNotifyEvent(XEvent xev) { if (eventLog.isLoggable(Level.FINER)) { XReparentEvent msg = xev.get_xreparent(); eventLog.finer(msg.toString()); }
*** 1024,1033 **** --- 1028,1044 ---- } public void handleConfigureNotifyEvent(XEvent xev) { XConfigureEvent xe = xev.get_xconfigure(); insLog.log(Level.FINER, "Configure, {0}", new Object[] {xe}); + + // Due to the SubstructureNotifyMask in the XWindow we should process + // only those events that belong to us. + if (xe.get_window() != getWindow()) { + return; + } + x = xe.get_x(); y = xe.get_y(); width = xe.get_width(); height = xe.get_height(); }