Kenneth Bull to SDL
authorSam Lantinga <slouken@libsdl.org>
Mon, 07 Sep 2009 16:04:44 +0000
changeset 3260 85bf3f297b5c
parent 3259 22ac66da0765
child 3261 72b542f34739
Kenneth Bull to SDL I noticed in trunk/SDL/src/video/win32/SDL_win32events.c, in this code here... ... if the device handle isn't found in mice[], which it won't be if the mouse was plugged in after SDL_Init, then you end up with an uninitialized value in index, which is then passed to various SDL_SendMouse* functions.
src/video/win32/SDL_win32events.c
--- a/src/video/win32/SDL_win32events.c	Mon Sep 07 05:06:34 2009 +0000
+++ b/src/video/win32/SDL_win32events.c	Mon Sep 07 16:04:44 2009 +0000
@@ -236,7 +236,7 @@
         {
             LPBYTE lpb;
             const RAWINPUTHEADER *header;
-            int index;
+            int index = -1;
             int i;
             int size = 0;
             const RAWMOUSE *raw_mouse = NULL;
@@ -261,6 +261,10 @@
                     break;
                 }
             }
+            if (index < 0) {
+                /* New mouse?  Should we dynamically update mouse list? */
+                return (0);
+            }
 
             GetCursorPos(&point);
             ScreenToClient(hwnd, &point);