From cd97e3a83310f0aa5f42813cae3d64c9b875f43c Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sat, 8 Jul 2023 14:10:08 -0700
Subject: [PATCH] Fixed clang Windows build
---
src/joystick/windows/SDL_rawinputjoystick.c | 7 +++++++
src/joystick/windows/SDL_windows_gaming_input.c | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/src/joystick/windows/SDL_rawinputjoystick.c b/src/joystick/windows/SDL_rawinputjoystick.c
index 3c296b93ac6a..dc9d7c3653de 100644
--- a/src/joystick/windows/SDL_rawinputjoystick.c
+++ b/src/joystick/windows/SDL_rawinputjoystick.c
@@ -499,7 +499,10 @@ static HRESULT STDMETHODCALLTYPE IEventHandler_CGamepadVtbl_InvokeRemoved(__FIEv
return S_OK;
}
+#ifdef _MSC_VER
+#pragma warning(push)
#pragma warning(disable : 4028) /* formal parameter 3 different from declaration, when using older buggy WGI headers */
+#endif
static __FIEventHandler_1_Windows__CGaming__CInput__CGamepadVtbl gamepad_added_vtbl = {
IEventHandler_CGamepadVtbl_QueryInterface,
@@ -523,6 +526,10 @@ static GamepadDelegate gamepad_removed = {
{ 1 }
};
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
static void RAWINPUT_MarkWindowsGamingInputSlotUsed(WindowsGamingInputGamepadState *wgi_slot, RAWINPUT_DeviceContext *ctx)
{
wgi_slot->used = SDL_TRUE;
diff --git a/src/joystick/windows/SDL_windows_gaming_input.c b/src/joystick/windows/SDL_windows_gaming_input.c
index 210395a7b088..68c5e3714012 100644
--- a/src/joystick/windows/SDL_windows_gaming_input.c
+++ b/src/joystick/windows/SDL_windows_gaming_input.c
@@ -567,7 +567,10 @@ static HRESULT STDMETHODCALLTYPE IEventHandler_CRawGameControllerVtbl_InvokeRemo
return S_OK;
}
+#ifdef _MSC_VER
+#pragma warning(push)
#pragma warning(disable : 4028) /* formal parameter 3 different from declaration, when using older buggy WGI headers */
+#endif
static __FIEventHandler_1_Windows__CGaming__CInput__CRawGameControllerVtbl controller_added_vtbl = {
IEventHandler_CRawGameControllerVtbl_QueryInterface,
@@ -591,6 +594,10 @@ static RawGameControllerDelegate controller_removed = {
{ 1 }
};
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
static int WGI_JoystickInit(void)
{
HRESULT hr;