From e60980d899bc890d36a3faf7062db958b5ebf703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20P=2E=20Tjern=C3=B8?= Date: Wed, 24 Apr 2013 12:20:48 -0700 Subject: [PATCH] Mac: Update mouse position on warp. --- src/video/cocoa/SDL_cocoamouse.m | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/video/cocoa/SDL_cocoamouse.m b/src/video/cocoa/SDL_cocoamouse.m index 60f4a50e2..acce0a2f4 100644 --- a/src/video/cocoa/SDL_cocoamouse.m +++ b/src/video/cocoa/SDL_cocoamouse.m @@ -187,11 +187,17 @@ Cocoa_ShowCursor(SDL_Cursor * cursor) static void Cocoa_WarpMouse(SDL_Window * window, int x, int y) { + SDL_Mouse *mouse = SDL_GetMouse(); CGPoint point; point.x = (float)window->x + x; point.y = (float)window->y + y; CGWarpMouseCursorPosition(point); + + /* CGWarpMouseCursorPosition doesn't generate a window event, unlike our + * other implementations' APIs. + */ + SDL_SendMouseMotion(mouse->focus, mouse->mouseID, 0, x, y); } static int