summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/events/SDL_mouse.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c
index 0ce443a3c..326bbbadc 100644
--- a/src/events/SDL_mouse.c
+++ b/src/events/SDL_mouse.c
@@ -293,9 +293,14 @@ SDL_PrivateSendMouseMotion(SDL_Window * window, SDL_MouseID mouseID, int relativ
event.motion.yrel = yrel;
posted = (SDL_PushEvent(&event) > 0);
}
- /* Use unclamped values if we're getting events outside the window */
- mouse->last_x = x;
- mouse->last_y = y;
+ if (relative) {
+ mouse->last_x = mouse->x;
+ mouse->last_y = mouse->y;
+ } else {
+ /* Use unclamped values if we're getting events outside the window */
+ mouse->last_x = x;
+ mouse->last_y = y;
+ }
return posted;
}