Commit 6f6c76a6a5252cc8d2b7820ed17626976255e675

Sam Lantinga 2013-12-27T10:18:18

Make sure our window has mouse focus before processing raw input events. This happens rarely, but not reproducibly, where we get raw input events for the window even though it doesn't have focus.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c
index 103a9bf..aaebc0a 100644
--- a/src/video/windows/SDL_windowsevents.c
+++ b/src/video/windows/SDL_windowsevents.c
@@ -417,7 +417,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
             RAWINPUT inp;
             UINT size = sizeof(inp);
 
-            if (!mouse->relative_mode || mouse->relative_mode_warp) {
+            if (!mouse->relative_mode || mouse->relative_mode_warp || mouse->focus != data->window) {
                 break;
             }