Commit c6c0a8394e459ed511540cdb2594b2858f6f6f50

Ryan C. Gordon 2022-08-10T09:54:49

windows: If a display's friendly name is blank, try the generic name. Fixes #6031.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff --git a/src/video/windows/SDL_windowsmodes.c b/src/video/windows/SDL_windowsmodes.c
index 098b253..1bba3ec 100644
--- a/src/video/windows/SDL_windowsmodes.c
+++ b/src/video/windows/SDL_windowsmodes.c
@@ -271,6 +271,12 @@ WIN_GetDisplayNameVista(const WCHAR *deviceName)
             rc = pDisplayConfigGetDeviceInfo(&targetName.header);
             if (rc == ERROR_SUCCESS) {
                 retval = WIN_StringToUTF8W(targetName.monitorFriendlyDeviceName);
+                /* if we got an empty string, treat it as failure so we'll fallback
+                   to getting the generic name. */
+                if (retval && (*retval == '\0')) {
+                    SDL_free(retval);
+                    retval = NULL;
+                }
             }
             break;
         }