From 4e1d53909563ed278296e51035005942ac795e04 Mon Sep 17 00:00:00 2001 From: kappaOne Date: Sat, 2 Feb 2013 01:15:41 +0000 Subject: [PATCH] Further fix Native Mouse Cursor behaviour --- src/java/org/lwjgl/opengl/MacOSXDisplay.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/java/org/lwjgl/opengl/MacOSXDisplay.java b/src/java/org/lwjgl/opengl/MacOSXDisplay.java index dbe1d410..bf1f0ac8 100644 --- a/src/java/org/lwjgl/opengl/MacOSXDisplay.java +++ b/src/java/org/lwjgl/opengl/MacOSXDisplay.java @@ -39,7 +39,6 @@ package org.lwjgl.opengl; */ import java.awt.Canvas; -import java.awt.Cursor; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Robot; @@ -52,6 +51,7 @@ import java.security.PrivilegedExceptionAction; import java.util.ArrayList; import java.util.List; +import org.lwjgl.input.Cursor; import org.lwjgl.BufferUtils; import org.lwjgl.MemoryUtil; import org.lwjgl.LWJGLException; @@ -154,6 +154,7 @@ final class MacOSXDisplay implements DisplayImplementation { native_mode = nIsNativeMode(peer_handle); mouseInsideWindow = true; + updateNativeCursor = true; if (!native_mode) { robot = AWTUtil.createRobot(canvas); @@ -422,6 +423,10 @@ final class MacOSXDisplay implements DisplayImplementation { } public int getNativeCursorCapabilities() { + if (native_mode) { + return Cursor.CURSOR_ONE_BIT_TRANSPARENCY; + } + return AWTUtil.getNativeCursorCapabilities(); } @@ -439,7 +444,9 @@ final class MacOSXDisplay implements DisplayImplementation { public void setNativeCursor(Object handle) throws LWJGLException { if (native_mode) { currentNativeCursor = getCursorHandle(handle); - MacOSXNativeMouse.setCursor(currentNativeCursor); + if (Display.isCreated()) { + MacOSXNativeMouse.setCursor(currentNativeCursor); + } } }