From 3f8491036b57cb6d0fb752155f2c452386f218a7 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Wed, 8 Feb 2023 14:51:50 +0300
Subject: [PATCH] sdl3_include_wrapper.h: tweak the windows hack ifdefs,
... so that the harmful Win32 SDK macros are certainly undefined.
That isn't enough make sdl2-compat to build for WinRT: MessageBoxA,
lstrcpyA and wsprintfA (and possibly LoadLibraryA) aren't supported
calls.
---
src/sdl3_include_wrapper.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/sdl3_include_wrapper.h b/src/sdl3_include_wrapper.h
index 95c341d..1b8b59b 100644
--- a/src/sdl3_include_wrapper.h
+++ b/src/sdl3_include_wrapper.h
@@ -897,11 +897,12 @@
#include <SDL3/SDL_vulkan.h>
/* Missing SDL_thread.h stuff (see above) */
-#if defined(_WIN32) && !defined(SDL2COMPAT_WINRT)
+#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN 1
#endif
#include <windows.h>
+#ifndef SDL2COMPAT_WINRT
typedef struct SDL_Thread SDL_Thread;
typedef unsigned long SDL_threadID;
typedef enum {
@@ -915,6 +916,7 @@ typedef int (SDLCALL *SDL_ThreadFunction) (void*);
typedef UINT_PTR (__cdecl *pfnSDL_CurrentBeginThread)
(void*, unsigned, unsigned (__stdcall *func)(void*), void*, unsigned, unsigned*);
typedef void (__cdecl *pfnSDL_CurrentEndThread) (unsigned);
+#endif
/* the following macros from Win32 SDK headers are harmful here. */
#undef CreateWindow
#undef CreateThread