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();
}