Cocoa: send a MOUSEMOTION event when warping cursor from outside the window.

Fixes Bugzilla #2984.
This commit is contained in:
Ryan C. Gordon 2015-05-31 13:58:36 -04:00
parent dbfd4fdd22
commit 5b2ff76c12

View File

@ -230,6 +230,10 @@ Cocoa_WarpMouseGlobal(int x, int y)
static void static void
Cocoa_WarpMouse(SDL_Window * window, int x, int y) Cocoa_WarpMouse(SDL_Window * window, int x, int y)
{ {
/* pretend we have the mouse focus, even if we don't, so
Cocoa_WarpMouseGlobal() will properly fake a mouse motion event. */
SDL_Mouse *mouse = SDL_GetMouse();
mouse->focus = window;
Cocoa_WarpMouseGlobal(x + window->x, y + window->y); Cocoa_WarpMouseGlobal(x + window->x, y + window->y);
} }