mirror of
https://github.com/Ryujinx/SDL.git
synced 2025-01-03 17:55:32 +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.
This commit is contained in:
parent
f52a12a8fe
commit
cc7fe8c255
|
@ -337,6 +337,8 @@ int X11_HandleXinput2Event(SDL_VideoData *videodata, XGenericEventCookie *cookie
|
|||
const XIDeviceEvent *xev = (const XIDeviceEvent *)cookie->data;
|
||||
int pointer_emulated = (xev->flags & XIPointerEmulated);
|
||||
|
||||
videodata->global_mouse_changed = SDL_TRUE;
|
||||
|
||||
if (!pointer_emulated) {
|
||||
SDL_Mouse *mouse = SDL_GetMouse();
|
||||
if (!mouse->relative_mode || mouse->relative_mode_warp) {
|
||||
|
|
Loading…
Reference in a new issue