--- old/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2012-04-26 19:02:26.303627603 -0400 +++ new/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2012-04-26 19:02:26.092625671 -0400 @@ -721,15 +721,17 @@ // Location, Client size + insets newLocation = new Point(xe.get_x() - currentInsets.left, xe.get_y() - currentInsets.top); } else { - // CDE/MWM/Metacity/Sawfish bug: if shell is resized using - // top or left border, we don't receive synthetic - // ConfigureNotify, only the one from X with zero - // coordinates. This is the workaround to get real - // location, 6261336 + // ICCCM 4.1.5 states that a real ConfigureNotify will be sent when + // a window is resized but the client can not tell if the window was + // moved or not. The client should consider the position as unkown + // and use TranslateCoordinates to find the actual position. + // + // TODO this should be the default for every case. switch (XWM.getWMID()) { case XWM.CDE_WM: case XWM.MOTIF_WM: case XWM.METACITY_WM: + case XWM.MUTTER_WM: case XWM.SAWFISH_WM: { Point xlocation = queryXLocation();