src/solaris/classes/sun/awt/X11/WindowDimensions.java
Print this page
*** 71,81 ****
}
public WindowDimensions(final WindowDimensions dims) {
this.loc = new Point(dims.loc);
this.size = new Dimension(dims.size);
! this.insets = (dims.insets != null)?((Insets)dims.insets.clone()):new Insets(0, 0, 0, 0);
this.isClientSizeSet = dims.isClientSizeSet;
}
public Rectangle getClientRect() {
if (isClientSizeSet) {
--- 71,81 ----
}
public WindowDimensions(final WindowDimensions dims) {
this.loc = new Point(dims.loc);
this.size = new Dimension(dims.size);
! this.insets = cloneOrZero(dims.insets);
this.isClientSizeSet = dims.isClientSizeSet;
}
public Rectangle getClientRect() {
if (isClientSizeSet) {
*** 114,124 ****
public Dimension getSize() {
return getBounds().getSize();
}
public Insets getInsets() {
! return (Insets)insets.clone();
}
public Rectangle getBounds() {
if (isClientSizeSet) {
Rectangle res = new Rectangle(loc, size);
res.width += (insets.left + insets.right);
--- 114,124 ----
public Dimension getSize() {
return getBounds().getSize();
}
public Insets getInsets() {
! return cloneOrZero(insets);
}
public Rectangle getBounds() {
if (isClientSizeSet) {
Rectangle res = new Rectangle(loc, size);
res.width += (insets.left + insets.right);
*** 175,180 ****
--- 175,185 ----
}
public int hashCode() {
return ((insets == null)? (0):(insets.hashCode())) ^ getClientRect().hashCode() ^ getBounds().hashCode();
}
+
+ private static Insets cloneOrZero(Insets insets) {
+ return insets == null ? new Insets(0, 0, 0, 0) :
+ (Insets)insets.clone();
+ }
}