From 42c4a0e30f04150f0b5223340a7e50b8095ce72b Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Tue, 19 May 2026 17:25:56 +0300
Subject: [PATCH] SDL_windows_gaming_input.c: work-around to build against old
SDKs.
Fixes https://github.com/libsdl-org/SDL/issues/15646
---
src/joystick/windows/SDL_windows_gaming_input.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/joystick/windows/SDL_windows_gaming_input.c b/src/joystick/windows/SDL_windows_gaming_input.c
index e08f568d91053..220111525797a 100644
--- a/src/joystick/windows/SDL_windows_gaming_input.c
+++ b/src/joystick/windows/SDL_windows_gaming_input.c
@@ -62,7 +62,7 @@ typedef struct WindowsGamingInputControllerState
int steam_virtual_gamepad_slot;
} WindowsGamingInputControllerState;
-typedef HRESULT(WINAPI *CoIncrementMTAUsage_t)(CO_MTA_USAGE_COOKIE *pCookie);
+typedef HRESULT(WINAPI *CoIncrementMTAUsage_t)(HANDLE* pCookie); // CO_MTA_USAGE_COOKIE*
typedef HRESULT(WINAPI *RoGetActivationFactory_t)(HSTRING activatableClassId, REFIID iid, void **factory);
typedef HRESULT(WINAPI *WindowsCreateStringReference_t)(PCWSTR sourceString, UINT32 length, HSTRING_HEADER *hstringHeader, HSTRING *string);
typedef HRESULT(WINAPI *WindowsDeleteString_t)(HSTRING string);
@@ -611,7 +611,7 @@ static bool WGI_JoystickInit(void)
* As a workaround, we will keep a reference to the MTA to prevent COM from unloading DLLs later.
* See https://github.com/libsdl-org/SDL/issues/5552 for more details.
*/
- static CO_MTA_USAGE_COOKIE cookie = NULL;
+ static HANDLE cookie = NULL; // CO_MTA_USAGE_COOKIE*
if (!cookie) {
hr = wgi.CoIncrementMTAUsage(&cookie);
if (FAILED(hr)) {