From 05c39990caa2e23be0f0078a33dfbe2b26deeba0 Mon Sep 17 00:00:00 2001 From: saloisio Date: Thu, 7 Jul 2016 14:38:35 -0400 Subject: [PATCH] NewtMouseInput now resets mouse cursor to default image when inputManager.setMouseCursor(null) invoked --- .../com/jme3/input/jogl/NewtMouseInput.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/jme3-jogl/src/main/java/com/jme3/input/jogl/NewtMouseInput.java b/jme3-jogl/src/main/java/com/jme3/input/jogl/NewtMouseInput.java index bb7a9aebf..b965fc67c 100644 --- a/jme3-jogl/src/main/java/com/jme3/input/jogl/NewtMouseInput.java +++ b/jme3-jogl/src/main/java/com/jme3/input/jogl/NewtMouseInput.java @@ -317,11 +317,17 @@ public class NewtMouseInput implements MouseInput, MouseListener { @Override public void setNativeCursor(JmeCursor cursor) { - final ByteBuffer pixels = Buffers.copyIntBufferAsByteBuffer(cursor.getImagesData()); - final DimensionImmutable size = new Dimension(cursor.getWidth(), cursor.getHeight()); - final PixelFormat pixFormat = PixelFormat.RGBA8888; - final PixelRectangle.GenericPixelRect rec = new PixelRectangle.GenericPixelRect(pixFormat, size, 0, true, pixels); - final PointerIcon joglCursor = component.getScreen().getDisplay().createPointerIcon(rec, cursor.getXHotSpot(), cursor.getHeight() - cursor.getYHotSpot()); - component.setPointerIcon(joglCursor); + PointerIcon pointerIcon = null; + if (cursor != null) { + final ByteBuffer pixels = Buffers.copyIntBufferAsByteBuffer(cursor.getImagesData()); + final DimensionImmutable size = new Dimension(cursor.getWidth(), cursor.getHeight()); + final PixelFormat pixFormat = PixelFormat.RGBA8888; + final PixelRectangle.GenericPixelRect rec = + new PixelRectangle.GenericPixelRect(pixFormat, size, 0, true, pixels); + pointerIcon = component.getScreen().getDisplay() + .createPointerIcon(rec, cursor.getXHotSpot(), cursor.getHeight() - cursor.getYHotSpot()); + } + + component.setPointerIcon(pointerIcon); } }