diff --git a/src/video/x11/SDL_x11mouse.c b/src/video/x11/SDL_x11mouse.c index decd763963..8a366ad589 100644 --- a/src/video/x11/SDL_x11mouse.c +++ b/src/video/x11/SDL_x11mouse.c @@ -412,6 +412,11 @@ static bool X11_CaptureMouse(SDL_Window *window) if (rc != GrabSuccess) { return SDL_SetError("X server refused mouse capture"); } + + if (data->mouse_grabbed) { + // XGrabPointer can warp the cursor when confining, so update the coordinates. + data->videodata->global_mouse_changed = true; + } } } else if (mouse_focus) { SDL_UpdateWindowGrab(mouse_focus);