[WIN] fix dereference of a NULL lParam for DBT_DEVNODES_CHANGED
authorCrystalP <CrystalP@xbmc.org>
Fri, 16 Mar 2012 00:54:14 +0000 (20:54 -0400)
committerCrystalP <CrystalP@xbmc.org>
Fri, 16 Mar 2012 00:54:14 +0000 (20:54 -0400)
xbmc/windowing/windows/WinEventsWin32.cpp

index aff8cb1..ca8ab05 100644 (file)
@@ -680,19 +680,16 @@ LRESULT CALLBACK CWinEventsWin32::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, L
       break;
     case WM_DEVICECHANGE:
       {
-        if (((_DEV_BROADCAST_HEADER*) lParam)->dbcd_devicetype == DBT_DEVTYP_DEVICEINTERFACE)
+        switch(wParam)
         {
-          PDEV_BROADCAST_DEVICEINTERFACE b = (PDEV_BROADCAST_DEVICEINTERFACE) lParam;
-          switch (wParam)
-          {
-            case DBT_DEVICEARRIVAL:
-            case DBT_DEVICEREMOVECOMPLETE:
-            case DBT_DEVNODES_CHANGED:
+          case DBT_DEVNODES_CHANGED:
+            g_peripherals.TriggerDeviceScan(PERIPHERAL_BUS_USB);
+            break;
+          case DBT_DEVICEARRIVAL:
+          case DBT_DEVICEREMOVECOMPLETE:
+            if (((_DEV_BROADCAST_HEADER*) lParam)->dbcd_devicetype == DBT_DEVTYP_DEVICEINTERFACE)
               g_peripherals.TriggerDeviceScan(PERIPHERAL_BUS_USB);
-              break;
-          }
         }
-        break;
       }
     case WM_PAINT:
       //some other app has painted over our window, mark everything as dirty