From 710d56fe55afc8cc53f5e8775e7db76cf24bec0c Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Thu, 31 May 2007 21:04:52 +0000 Subject: [PATCH] Mac OS X: Track grabbed state in MacOSXMouseEventQueue --- src/java/org/lwjgl/opengl/MacOSXMouseEventQueue.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/java/org/lwjgl/opengl/MacOSXMouseEventQueue.java b/src/java/org/lwjgl/opengl/MacOSXMouseEventQueue.java index 0b6676a4..47f2a0e0 100644 --- a/src/java/org/lwjgl/opengl/MacOSXMouseEventQueue.java +++ b/src/java/org/lwjgl/opengl/MacOSXMouseEventQueue.java @@ -53,6 +53,8 @@ import org.lwjgl.input.Mouse; final class MacOSXMouseEventQueue extends MouseEventQueue { private final IntBuffer delta_buffer = BufferUtils.createIntBuffer(2); + private static boolean is_grabbed; + MacOSXMouseEventQueue(Component component) { super(component); } @@ -60,7 +62,10 @@ final class MacOSXMouseEventQueue extends MouseEventQueue { public void setGrabbed(boolean grab) { super.setGrabbed(grab); warpCursor(); - nGrabMouse(grab); + if (is_grabbed != grab) { + is_grabbed = grab; + nGrabMouse(grab); + } } protected void resetCursorToCenter() {