Browse Source

windows: Fix compiling of XInput code on newer MinGW installs.

Fixes Bugzilla #3609.
Ryan C. Gordon 7 years ago
parent
commit
d844487799
1 changed files with 11 additions and 0 deletions
  1. 11 0
      src/core/windows/SDL_xinput.h

+ 11 - 0
src/core/windows/SDL_xinput.h

@@ -100,6 +100,14 @@
 #endif
 
 /* typedef's for XInput structs we use */
+
+/* Don't redeclare these on MinGW with gcc >= 5.0.2 */
+#if defined(__MINGW32__) && (((__GNUC__ * 10000) + (__GNUC_MINOR__ * 100) + __GNUC_PATCHLEVEL__) >= 50002)
+#define HAS_XINPUT_GAMEPAD_EX
+#define HAS_XINPUT_STATE_EX
+#endif
+
+#ifndef HAS_XINPUT_GAMEPAD_EX
 typedef struct
 {
     WORD wButtons;
@@ -111,12 +119,15 @@ typedef struct
     SHORT sThumbRY;
     DWORD dwPaddingReserved;
 } XINPUT_GAMEPAD_EX;
+#endif
 
+#ifndef HAS_XINPUT_STATE_EX
 typedef struct
 {
     DWORD dwPacketNumber;
     XINPUT_GAMEPAD_EX Gamepad;
 } XINPUT_STATE_EX;
+#endif
 
 typedef struct
 {