diff -ur SDL-1.2.15/src/video/quartz/SDL_QuartzWM.m SDL-1.2.15-jm/src/video/quartz/SDL_QuartzWM.m --- SDL-1.2.15/src/video/quartz/SDL_QuartzWM.m 2012-01-15 11:17:55.000000000 -0500 +++ SDL-1.2.15-jm/src/video/quartz/SDL_QuartzWM.m 2012-01-16 13:18:24.000000000 -0500 @@ -230,7 +230,6 @@ #endif /* Dead code */ void QZ_PrivateWarpCursor (_THIS, int x, int y) { - CGEventSourceRef evsrc = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState); NSPoint p; CGPoint cgp; @@ -238,9 +237,9 @@ cgp = QZ_PrivateSDLToCG (this, &p); /* this is the magic call that fixes cursor "freezing" after warp */ - CGEventSourceSetLocalEventsSuppressionInterval(evsrc, 0.0); + CGAssociateMouseAndMouseCursorPosition (false); CGWarpMouseCursorPosition (cgp); - CFRelease(evsrc); + CGAssociateMouseAndMouseCursorPosition (true); SDL_PrivateAppActive (QZ_IsMouseInWindow (this), SDL_APPMOUSEFOCUS); }