JRE-50 GUI rendering issue ("cannot load system cursor: CopyDrop.32x32" exception)

Replaced incorrect cursor size with preferred one
diff --git a/src/solaris/classes/sun/awt/X11/XCustomCursor.java b/src/solaris/classes/sun/awt/X11/XCustomCursor.java
index 0135e25..cb265c7 100644
--- a/src/solaris/classes/sun/awt/X11/XCustomCursor.java
+++ b/src/solaris/classes/sun/awt/X11/XCustomCursor.java
@@ -59,9 +59,18 @@
             long display = XToolkit.getDisplay();
             long root_window = XlibWrapper.RootWindow(display,
                     XlibWrapper.DefaultScreen(display));
+            preferredWidth = Math.abs(preferredWidth);
+            preferredHeight = Math.abs(preferredHeight);
 
-            XlibWrapper.XQueryBestCursor(display,root_window, Math.abs(preferredWidth),Math.abs(preferredHeight),XlibWrapper.larg1,XlibWrapper.larg2);
-            d = new Dimension(XlibWrapper.unsafe.getInt(XlibWrapper.larg1),XlibWrapper.unsafe.getInt(XlibWrapper.larg2));
+            XlibWrapper.XQueryBestCursor(display, root_window,
+                    preferredWidth, preferredHeight,
+                    XlibWrapper.larg1, XlibWrapper.larg2);
+
+            int cWidth = XlibWrapper.unsafe.getInt(XlibWrapper.larg1);
+            int cHeight = XlibWrapper.unsafe.getInt(XlibWrapper.larg2);
+            if (cWidth == 0) cWidth = preferredWidth;
+            if (cHeight == 0) cHeight = preferredHeight;
+            d = new Dimension(cWidth, cHeight);
         }
         finally {
             XToolkit.awtUnlock();