diff src/video/win32/SDL_win32events.c @ 3260:85bf3f297b5c

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.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 07 Sep 2009 16:04:44 +0000
parents 83c87f2b2aab
children f43c8f688f77
line wrap: on
line diff
--- 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);