Bläddra i källkod

Fixed raw input device GUIDs changing randomly between runs

On Windows 11, apparently HidD_GetManufacturerString() and HidD_GetProductString() can return TRUE without actually filling in any string data.

Fixes https://github.com/libsdl-org/SDL/issues/12566

(cherry picked from commit 4fc9509ab776ffe535320ea3b1296ecfdea2c32f)
Sam Lantinga 1 månad sedan
förälder
incheckning
cd673c8254
1 ändrade filer med 2 tillägg och 0 borttagningar
  1. 2 0
      src/joystick/windows/SDL_rawinputjoystick.c

+ 2 - 0
src/joystick/windows/SDL_rawinputjoystick.c

@@ -909,9 +909,11 @@ static void RAWINPUT_AddDevice(HANDLE hDevice)
         char *product_string = NULL;
         WCHAR string[128];
 
+        string[0] = 0;
         if (SDL_HidD_GetManufacturerString(hFile, string, sizeof(string))) {
             manufacturer_string = WIN_StringToUTF8W(string);
         }
+        string[0] = 0;
         if (SDL_HidD_GetProductString(hFile, string, sizeof(string))) {
             product_string = WIN_StringToUTF8W(string);
         }