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;
*** 330,340 **** --- 330,346 ---- xattr.set_background_pixmap(background_pixmap.longValue()); value_mask |= XConstants.CWBackPixmap; } Long parentWindow = (Long)params.get(PARENT_WINDOW); + Rectangle bounds = (Rectangle)params.get(BOUNDS); + this.x = bounds.x; + this.y = bounds.y; + this.width = bounds.width; + this.height = bounds.height; + Integer depth = (Integer)params.get(DEPTH); Integer visual_class = (Integer)params.get(VISUAL_CLASS); Long visual = (Long)params.get(VISUAL); Boolean overrideRedirect = (Boolean)params.get(OVERRIDE_REDIRECT); if (overrideRedirect != null) {
*** 921,935 **** --- 927,945 ---- } } // -------------- 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 **** --- 1034,1048 ---- } public void handleConfigureNotifyEvent(XEvent xev) { XConfigureEvent xe = xev.get_xconfigure(); insLog.log(Level.FINER, "Configure, {0}", new Object[] {xe}); + + if (xe.get_window() != getWindow()) { + return; + } + x = xe.get_x(); y = xe.get_y(); width = xe.get_width(); height = xe.get_height(); }