mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-02-10 05:48:38 +00:00
x11: XI_Motion should mark the global mouse position as changed.
Otherwise we'll miss it when XWarpPointer() is used. x11vnc may do this to
manage mouse input in some circumstances, so it can be possible for _all_
mouse motion to go through this path, breaking SDL_GetGlobalMouseState().
Thanks to @chrismile for all the detective work to figure this out!
Fixes #8827.
(cherry picked from commit cc7fe8c255)
This commit is contained in:
@@ -436,6 +436,8 @@ int X11_HandleXinput2Event(SDL_VideoDevice *_this, XGenericEventCookie *cookie)
|
||||
int pointer_emulated = (xev->flags & XIPointerEmulated);
|
||||
#endif /* SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH */
|
||||
|
||||
videodata->global_mouse_changed = SDL_TRUE;
|
||||
|
||||
if (xev->deviceid != xev->sourceid) {
|
||||
/* Discard events from "Master" devices to avoid duplicates. */
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user