--- old/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2012-12-10 20:46:46.118002226 +0100 +++ new/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2012-12-10 20:46:45.980127319 +0100 @@ -2070,12 +2070,12 @@ } if (isGrabbed()) { boolean dragging = false; - final int buttonsNumber = ((SunToolkit)(Toolkit.getDefaultToolkit())).getNumberOfButtons(); + final int buttonsNumber = XToolkit.getNumberOfButtonsForMask(); for (int i = 0; i < buttonsNumber; i++){ // here is the bug in WM: extra buttons doesn't have state!=0 as they should. if ((i != 4) && (i != 5)){ - dragging = dragging || ((xme.get_state() & XConstants.buttonsMask[i]) != 0); + dragging = dragging || ((xme.get_state() & XlibUtil.getButtonMask(i + 1)) != 0); } } // When window is grabbed, all events are dispatched to