From 9fb1e46e43900ec9b2f9c9af1fc8984e101c8811 Mon Sep 17 00:00:00 2001 From: Sven Gothel Date: Wed, 26 Feb 2014 15:53:41 +0100 Subject: AWTMisc.static: Allow static creation of 'null' AWT cursor to fail (i.e. AWT headless) --- .../classes/com/jogamp/nativewindow/awt/JAWTWindow.java | 5 ++++- .../classes/jogamp/nativewindow/awt/AWTMisc.java | 17 ++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) (limited to 'src/nativewindow') diff --git a/src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java b/src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java index 20ab7a2ee..bb7b44795 100644 --- a/src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java +++ b/src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java @@ -432,7 +432,10 @@ public abstract class JAWTWindow implements NativeWindow, OffscreenLayerSurface, public final boolean hideCursor() { AWTEDTExecutor.singleton.invoke(false, new Runnable() { public void run() { - component.setCursor(AWTMisc.getNullCursor()); + final Cursor cursor = AWTMisc.getNullCursor(); + if( null != cursor ) { + component.setCursor(cursor); + } } } ); return true; } diff --git a/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java b/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java index 069cffeb8..3099f293d 100644 --- a/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java +++ b/src/nativewindow/classes/jogamp/nativewindow/awt/AWTMisc.java @@ -50,6 +50,8 @@ import javax.media.nativewindow.util.PixelFormat; import javax.media.nativewindow.util.PixelFormatUtil; import javax.swing.MenuSelectionManager; +import jogamp.nativewindow.jawt.JAWTUtil; + public class AWTMisc { public static JFrame getJFrame(Component c) { @@ -174,9 +176,18 @@ public class AWTMisc { static final HashMap cursorMap = new HashMap(); static final Cursor nulCursor; static { - final Toolkit toolkit = Toolkit.getDefaultToolkit(); - final BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_4BYTE_ABGR); - nulCursor = toolkit.createCustomCursor(img, new Point(0,0), "nullCursor"); + Cursor _nulCursor = null; + try { + final Toolkit toolkit = Toolkit.getDefaultToolkit(); + final BufferedImage img = new BufferedImage(1, 1, BufferedImage.TYPE_4BYTE_ABGR); + _nulCursor = toolkit.createCustomCursor(img, new Point(0,0), "nullCursor"); + } catch (Exception he) { + if( JAWTUtil.DEBUG ) { + System.err.println("Catched exception: "+he.getMessage()); + he.printStackTrace(); + } + } + nulCursor = _nulCursor; } public static synchronized Cursor getNullCursor() { return nulCursor; } -- cgit v1.2.3