--- old/src/solaris/classes/sun/awt/X11/WindowDimensions.java 2009-08-11 19:21:13.000000000 +0400 +++ new/src/solaris/classes/sun/awt/X11/WindowDimensions.java 2009-08-11 19:21:12.000000000 +0400 @@ -73,7 +73,7 @@ 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.insets = cloneOrZero(dims.insets); this.isClientSizeSet = dims.isClientSizeSet; } @@ -116,7 +116,7 @@ } public Insets getInsets() { - return (Insets)insets.clone(); + return cloneOrZero(insets); } public Rectangle getBounds() { if (isClientSizeSet) { @@ -145,7 +145,7 @@ } public void setInsets(Insets in) { - insets = (in != null)?((Insets)in.clone()):new Insets(0, 0, 0, 0); + insets = cloneOrZero(in); if (!isClientSizeSet) { if (size.width < (insets.left+insets.right)) { size.width = (insets.left+insets.right); @@ -177,4 +177,9 @@ 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(); + } }