mirror of
https://github.com/yawut/SDL.git
synced 2026-06-16 13:39:35 -05:00
Make sure to send MOUSEMOTION on window enter.
This should hopefully fix bug #1612. We now send mousemotion events when the cursor enters the window as well as when it leaves. Thanks to Alex Szpakowski for the fix. Fixes http://bugzilla.libsdl.org/show_bug.cgi?id=1612
This commit is contained in:
parent
de33c6164e
commit
f23a05cdee
|
|
@ -165,13 +165,11 @@ SDL_UpdateMouseFocus(SDL_Window * window, int x, int y, Uint32 buttonstate)
|
|||
}
|
||||
|
||||
if (window != mouse->focus) {
|
||||
mouse->last_x = x;
|
||||
mouse->last_y = y;
|
||||
|
||||
#ifdef DEBUG_MOUSE
|
||||
printf("Mouse entered window, synthesizing focus gain event\n");
|
||||
printf("Mouse entered window, synthesizing focus gain & move event\n");
|
||||
#endif
|
||||
SDL_SetMouseFocus(window);
|
||||
SDL_SetMouseFocus(window);
|
||||
SDL_PrivateSendMouseMotion(window, mouse->mouseID, 0, x, y);
|
||||
}
|
||||
return SDL_TRUE;
|
||||
}
|
||||
|
|
@ -686,4 +684,4 @@ SDL_ShowCursor(int toggle)
|
|||
return shown;
|
||||
}
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
|||
|
|
@ -310,6 +310,10 @@ X11_DispatchEvent(_THIS)
|
|||
printf("Mode: NotifyUngrab\n");
|
||||
#endif
|
||||
SDL_SetMouseFocus(data->window);
|
||||
|
||||
if (!SDL_GetMouse()->relative_mode) {
|
||||
SDL_SendMouseMotion(data->window, 0, 0, xevent.xcrossing.x, xevent.xcrossing.y);
|
||||
}
|
||||
}
|
||||
break;
|
||||
/* Losing mouse coverage? */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user