x11: make last mouse coords sane upon window entry (thanks, Cengiz!).

(and thanks to Cengiz for many of the previous Unreal-related
patches! They were generically credited to Epic Games, but a large
amount of that work was his contribution.)

Fixes Bugzilla #3067.

--HG--
extra : rebase_source : b86e4588aaac870fab652a8a04c7ac617b97e8a1
This commit is contained in:
Ryan C. Gordon 2016-01-07 19:58:00 -05:00
parent 6aa640c48d
commit a876872d51

View file

@ -636,6 +636,7 @@ X11_DispatchEvent(_THIS)
/* Gaining mouse coverage? */
case EnterNotify:{
SDL_Mouse *mouse = SDL_GetMouse();
#ifdef DEBUG_XEVENTS
printf("window %p: EnterNotify! (%d,%d,%d)\n", data,
xevent.xcrossing.x,
@ -648,7 +649,10 @@ X11_DispatchEvent(_THIS)
#endif
SDL_SetMouseFocus(data->window);
if (!SDL_GetMouse()->relative_mode) {
mouse->last_x = xevent.xcrossing.x;
mouse->last_y = xevent.xcrossing.y;
if (!mouse->relative_mode) {
SDL_SendMouseMotion(data->window, 0, 0, xevent.xcrossing.x, xevent.xcrossing.y);
}
}