From 4640c849208079d758d8f0dbb4b5b7816db5ed0c Mon Sep 17 00:00:00 2001 From: Ray Date: Mon, 13 Jul 2026 19:32:30 +0200 Subject: [PATCH] WARNING: Not updating mouse.previousPosition when `SeMousePosition()` #5962 This could be a sensible change, not sure if it can break anything... --- src/platforms/rcore_android.c | 1 - src/platforms/rcore_desktop_glfw.c | 1 - src/platforms/rcore_desktop_rgfw.c | 1 - src/platforms/rcore_desktop_sdl.c | 1 - src/platforms/rcore_desktop_win32.c | 4 ++-- src/platforms/rcore_drm.c | 1 - src/platforms/rcore_memory.c | 1 - src/platforms/rcore_template.c | 1 - src/platforms/rcore_web.c | 1 - 9 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/platforms/rcore_android.c b/src/platforms/rcore_android.c index f88f53c4c..7fb080153 100644 --- a/src/platforms/rcore_android.c +++ b/src/platforms/rcore_android.c @@ -726,7 +726,6 @@ void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float d void SetMousePosition(int x, int y) { CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; } // Set mouse cursor diff --git a/src/platforms/rcore_desktop_glfw.c b/src/platforms/rcore_desktop_glfw.c index f1bf0ae8e..40da5b804 100644 --- a/src/platforms/rcore_desktop_glfw.c +++ b/src/platforms/rcore_desktop_glfw.c @@ -1237,7 +1237,6 @@ void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float d void SetMousePosition(int x, int y) { CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; // NOTE: emscripten not implemented glfwSetCursorPos(platform.handle, CORE.Input.Mouse.currentPosition.x, CORE.Input.Mouse.currentPosition.y); diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c index 814eda553..9907e8a60 100644 --- a/src/platforms/rcore_desktop_rgfw.c +++ b/src/platforms/rcore_desktop_rgfw.c @@ -1526,7 +1526,6 @@ void SetMousePosition(int x, int y) { RGFW_window_moveMouse(platform.window, x, y); CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; } // Set mouse cursor diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 0936dda0e..bca579e41 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1411,7 +1411,6 @@ void SetMousePosition(int x, int y) SDL_WarpMouseInWindow(platform.window, x, y); CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; } // Set mouse cursor diff --git a/src/platforms/rcore_desktop_win32.c b/src/platforms/rcore_desktop_win32.c index 00d5565e2..a6e85a657 100644 --- a/src/platforms/rcore_desktop_win32.c +++ b/src/platforms/rcore_desktop_win32.c @@ -1299,8 +1299,8 @@ void SetMousePosition(int x, int y) if (!CORE.Input.Mouse.cursorLocked) { CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; - TRACELOG(LOG_WARNING, "SetMousePosition not implemented"); + + TRACELOG(LOG_WARNING, "SetMousePosition not implemented at platform level"); } else TRACELOG(LOG_WARNING, "INPUT: MOUSE: Cursor not enabled"); } diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index 662b52373..4d4a4d3bf 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -1042,7 +1042,6 @@ void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float d void SetMousePosition(int x, int y) { CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; } // Set mouse cursor diff --git a/src/platforms/rcore_memory.c b/src/platforms/rcore_memory.c index 14c56a591..03b787da6 100644 --- a/src/platforms/rcore_memory.c +++ b/src/platforms/rcore_memory.c @@ -420,7 +420,6 @@ void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float d void SetMousePosition(int x, int y) { CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; } // Set mouse cursor diff --git a/src/platforms/rcore_template.c b/src/platforms/rcore_template.c index 216c49af8..1866059e8 100644 --- a/src/platforms/rcore_template.c +++ b/src/platforms/rcore_template.c @@ -395,7 +395,6 @@ void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float d void SetMousePosition(int x, int y) { CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; } // Set mouse cursor diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index dcc83accf..b95121d2c 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -1047,7 +1047,6 @@ void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float d void SetMousePosition(int x, int y) { CORE.Input.Mouse.currentPosition = (Vector2){ (float)x, (float)y }; - CORE.Input.Mouse.previousPosition = CORE.Input.Mouse.currentPosition; if (CORE.Input.Mouse.cursorLocked) CORE.Input.Mouse.lockedPosition = CORE.Input.Mouse.currentPosition;