src/video/cocoa/SDL_cocoawindow.m
changeset 7098 f4b2c6fb0258
parent 7087 5639ac726076
child 7113 7b4b596b3cfb
--- a/src/video/cocoa/SDL_cocoawindow.m	Tue Apr 23 18:47:32 2013 -0700
+++ b/src/video/cocoa/SDL_cocoawindow.m	Tue Apr 23 18:47:38 2013 -0700
@@ -392,7 +392,14 @@
 
             cgpoint.x = window->x + x;
             cgpoint.y = window->y + y;
+
+            /* We have to disassociate the curosr & the mouse before issuing
+             * this cursor warp, otherwise it gets limited to one update per
+             * 250ms, and looks very choppy.
+             */
+            CGAssociateMouseAndMouseCursorPosition(NO);
             CGDisplayMoveCursorToPoint(kCGDirectMainDisplay, cgpoint);
+            CGAssociateMouseAndMouseCursorPosition(YES);
         }
     }
     SDL_SendMouseMotion(window, 0, 0, x, y);