Commit 7fb43643914a2d769191aa476422a915c2ed7ed7

Sam Lantinga 2021-10-17T13:56:31

Don't process WM_INPUT when handling relative mode by warping the mouse cursor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c
index 5ec7b84..4c5b941 100644
--- a/src/video/windows/SDL_windowsevents.c
+++ b/src/video/windows/SDL_windowsevents.c
@@ -724,8 +724,13 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
             RAWINPUT inp;
             UINT size = sizeof(inp);
 
+            /* We only use raw mouse input in relative mode */
+            if (!mouse->relative_mode || mouse->relative_mode_warp) {
+                break;
+            }
+
             /* Relative mouse motion is delivered to the window with keyboard focus */
-            if ((!mouse->relative_mode && !mouse->relative_mode_warp) || data->window != SDL_GetKeyboardFocus()) {
+            if (data->window != SDL_GetKeyboardFocus()) {
                 break;
             }