SDL: windowsdialog: Fix broken ≤XP fallback declarations

From 5e1a753f884aeb6e6b306ec89b99c1d55cc88aab Mon Sep 17 00:00:00 2001
From: nmlgc <[EMAIL REDACTED]>
Date: Mon, 13 Oct 2025 08:20:38 +0200
Subject: [PATCH] =?UTF-8?q?windowsdialog:=20Fix=20broken=20=E2=89=A4XP=20f?=
 =?UTF-8?q?allback=20declarations?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The syntax errors in the enum lists tell us that no one ever actually
compiled this `WINVER < _WIN32_WINNT_VISTA` fallback path. 2f5bc17 made
it increasingly unlikely for retro Windows builds to hit this path by
adding a new set of `WINVER` override rules to `SDL_windows.h` that
check for the presence of certain headers. `HAVE_MMDEVICEAPI_H` in
particular will be `#define`d for any CMake build with a ≥Vista-era
SDK, such as Visual Studio 2017's `v141_xp` toolset that 2f5bc17
targeted, and it's also unconditionally defined in the default
`SDL_build_config_windows.h` configuration used by the ready-made
Visual Studio project.

These fixes work for a XP-era configuration that undefines all of the
`HAVE_*_H` macros and `SDL_VIDEO_RENDER_D3D12` to make `SDL_windows.h`
fall through to the `#define _WIN32_WINNT _WIN32_WINNT_WINXP` case, on
both Visual Studio 2022 and Visual Studio 2017's `v141_xp` toolset.
---
 src/dialog/windows/SDL_windowsdialog.c | 43 +++++---------------------
 1 file changed, 8 insertions(+), 35 deletions(-)

diff --git a/src/dialog/windows/SDL_windowsdialog.c b/src/dialog/windows/SDL_windowsdialog.c
index 3009df58be6fc..b10f82fabb684 100644
--- a/src/dialog/windows/SDL_windowsdialog.c
+++ b/src/dialog/windows/SDL_windowsdialog.c
@@ -38,52 +38,25 @@ typedef struct _COMDLG_FILTERSPEC
 
 typedef enum FDE_OVERWRITE_RESPONSE
 {
-    FDEOR_DEFAULT
-    FDEOR_ACCEPT
-    FDEOR_REFUSE
+    FDEOR_DEFAULT,
+    FDEOR_ACCEPT,
+    FDEOR_REFUSE,
 } FDE_OVERWRITE_RESPONSE;
 
 typedef enum FDE_SHAREVIOLATION_RESPONSE
 {
-    FDESVR_DEFAULT
-    FDESVR_ACCEPT
-    FDESVR_REFUSE
+    FDESVR_DEFAULT,
+    FDESVR_ACCEPT,
+    FDESVR_REFUSE,
 } FDE_SHAREVIOLATION_RESPONSE;
 
 typedef enum FDAP
 {
-    FDAP_BOTTOM
-    FDAP_TOP
+    FDAP_BOTTOM,
+    FDAP_TOP,
 } FDAP;
 
 typedef ULONG SFGAOF;
-
-typedef enum GETPROPERTYSTOREFLAGS
-{
-    GPS_DEFAULT = 0x0,
-    GPS_HANDLERPROPERTIESONLY = 0x1,
-    GPS_READWRITE = 0x2,
-    GPS_TEMPORARY = 0x4,
-    GPS_FASTPROPERTIESONLY = 0x8,
-    GPS_OPENSLOWITEM = 0x10,
-    GPS_DELAYCREATION = 0x20,
-    GPS_BESTEFFORT = 0x40,
-    GPS_NO_OPLOCK = 0x80,
-    GPS_PREFERQUERYPROPERTIES = 0x100,
-    GPS_EXTRINSICPROPERTIES = 0x200,
-    GPS_EXTRINSICPROPERTIESONLY = 0x400,
-    GPS_VOLATILEPROPERTIES = 0x800,
-    GPS_VOLATILEPROPERTIESONLY = 0x1000,
-    GPS_MASK_VALID = 0x1FFF
-} GETPROPERTYSTOREFLAGS;
-
-typedef struct _tagpropertykey {
-    GUID fmtid;
-    DWORD pid;
-} PROPERTYKEY;
-
-#define REFPROPERTYKEY const PROPERTYKEY * const
-
 typedef DWORD SHCONTF;
 
 #endif // WINVER < _WIN32_WINNT_VISTA