2
0
Эх сурвалжийг харах

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 5 сар өмнө
parent
commit
52146cf067

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

@@ -908,9 +908,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);
         }