summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2004-11-12 04:48:24 +0000
committerSilenio Quarti <silenio>2004-11-12 04:48:24 +0000
commit4f12ff6b4f498cb623dda05d5675df761b0de53b (patch)
tree8245d444de36120e44a1fc0272dd6ecebfac36dd /bundles/org.eclipse.swt
parent4df4db95b1ff0748dfe2f51d043d7f515fcc42ab (diff)
downloadeclipse.platform.swt-4f12ff6b4f498cb623dda05d5675df761b0de53b.tar.gz
eclipse.platform.swt-4f12ff6b4f498cb623dda05d5675df761b0de53b.tar.xz
eclipse.platform.swt-4f12ff6b4f498cb623dda05d5675df761b0de53b.zip
*** empty log message ***
Diffstat (limited to 'bundles/org.eclipse.swt')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java28
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/Cursor.java24
2 files changed, 23 insertions, 29 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java
index f931e224f9..dba3b97d6b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java
@@ -346,25 +346,19 @@ public Cursor(Device device, ImageData source, int hotspotX, int hotspotY) {
}
int /*long*/ createCursor(byte[] sourceData, byte[] maskData, int width, int height, int hotspotX, int hotspotY) {
- /* Create bitmaps */
int /*long*/ sourcePixmap = OS.gdk_bitmap_create_from_data(0, sourceData, width, height);
- if (sourcePixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
int /*long*/ maskPixmap = OS.gdk_bitmap_create_from_data(0, maskData, width, height);
- if (maskPixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
-
- /* Get the colors */
- GdkColor foreground = new GdkColor();
- foreground.red = (short)65535;
- foreground.green = (short)65535;
- foreground.blue = (short)65535;
- GdkColor background = new GdkColor();
-
- /* Create the cursor */
- int /*long*/ cursor = OS.gdk_cursor_new_from_pixmap (sourcePixmap, maskPixmap, foreground, background, hotspotX, hotspotY);
-
- /* Dispose the pixmaps */
- OS.g_object_unref (sourcePixmap);
- OS.g_object_unref (maskPixmap);
+ int /*long*/ cursor = 0;
+ if (sourcePixmap != 0 && maskPixmap != 0) {
+ GdkColor foreground = new GdkColor();
+ foreground.red = (short)65535;
+ foreground.green = (short)65535;
+ foreground.blue = (short)65535;
+ GdkColor background = new GdkColor();
+ cursor = OS.gdk_cursor_new_from_pixmap (sourcePixmap, maskPixmap, foreground, background, hotspotX, hotspotY);
+ }
+ if (sourcePixmap != 0) OS.g_object_unref (sourcePixmap);
+ if (maskPixmap != 0) OS.g_object_unref (maskPixmap);
return cursor;
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/Cursor.java b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/Cursor.java
index b48fe1489f..771802160e 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/Cursor.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/motif/org/eclipse/swt/graphics/Cursor.java
@@ -347,18 +347,18 @@ int createCursor(byte[] sourceData, byte[] maskData, int width, int height, int
int drawable = OS.XDefaultRootWindow(xDisplay);
int sourcePixmap = OS.XCreateBitmapFromData(xDisplay, drawable, sourceData, width, height);
int maskPixmap = OS.XCreateBitmapFromData(xDisplay, drawable, maskData, width, height);
- /* Get the colors */
- int screenNum = OS.XDefaultScreen(xDisplay);
- XColor foreground = new XColor();
- foreground.pixel = OS.XWhitePixel(xDisplay, screenNum);
- foreground.red = foreground.green = foreground.blue = (short)0xFFFF;
- XColor background = new XColor();
- background.pixel = OS.XBlackPixel(xDisplay, screenNum);
- /* Create the cursor */
- int cursor = OS.XCreatePixmapCursor(xDisplay, sourcePixmap, maskPixmap, foreground, background, hotspotX, hotspotY);
- /* Dispose the pixmaps */
- OS.XFreePixmap(xDisplay, sourcePixmap);
- OS.XFreePixmap(xDisplay, maskPixmap);
+ int cursor = 0;
+ if (sourcePixmap != 0 && maskPixmap != 0) {
+ int screenNum = OS.XDefaultScreen(xDisplay);
+ XColor foreground = new XColor();
+ foreground.pixel = OS.XWhitePixel(xDisplay, screenNum);
+ foreground.red = foreground.green = foreground.blue = (short)0xFFFF;
+ XColor background = new XColor();
+ background.pixel = OS.XBlackPixel(xDisplay, screenNum);
+ cursor = OS.XCreatePixmapCursor(xDisplay, sourcePixmap, maskPixmap, foreground, background, hotspotX, hotspotY);
+ }
+ if (sourcePixmap != 0) OS.XFreePixmap(xDisplay, sourcePixmap);
+ if (maskPixmap != 0) OS.XFreePixmap(xDisplay, maskPixmap);
return cursor;
}
/**