From 0aa247dbf22123ca93933aa4c6481e6b4f8fc64d Mon Sep 17 00:00:00 2001
From: mazmazz <mar.marcoz@outlook.com>
Date: Thu, 13 Dec 2018 18:27:38 -0500
Subject: [PATCH] Use newer versionHelper API if available

---
 src/sdl/i_main.c     | 5 +++++
 src/sdl12/i_main.c   | 5 +++++
 src/win32/win_main.c | 5 +++++
 3 files changed, 15 insertions(+)

diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c
index 9b951429f8..4cae148f9f 100644
--- a/src/sdl/i_main.c
+++ b/src/sdl/i_main.c
@@ -152,11 +152,16 @@ int main(int argc, char **argv)
 			// XP and Vista users can't use the newest exchndl.dll
 			// and older exchndl.dll won't work with release builds >= 2.1.21
 			// Check for >= Version 6.1 (>= Win7)
+#if defined(_INC_VERSIONHELPERS) || defined(_versionhelpers_H_INCLUDED_)
+			if (IsWindows7OrGreater())
+				LoadLibraryA("exchndl.dll");
+#else
 			DWORD winversion = GetVersion();
 			DWORD major = (DWORD)(LOBYTE(LOWORD(winversion)));
 			DWORD minor = (DWORD)(HIBYTE(LOWORD(winversion)));
 			if (major > 6 || (major == 6 && minor > 0))
 				LoadLibraryA("exchndl.dll");
+#endif
 		}
 	}
 #ifndef __MINGW32__
diff --git a/src/sdl12/i_main.c b/src/sdl12/i_main.c
index 6494564d4b..219c65213e 100644
--- a/src/sdl12/i_main.c
+++ b/src/sdl12/i_main.c
@@ -221,11 +221,16 @@ int main(int argc, char **argv)
 			// XP and Vista users can't use the newest exchndl.dll
 			// and older exchndl.dll won't work with release builds >= 2.1.21
 			// Check for >= Version 6.1 (>= Win7)
+#if defined(_INC_VERSIONHELPERS) || defined(_versionhelpers_H_INCLUDED_)
+			if (IsWindows7OrGreater())
+				LoadLibraryA("exchndl.dll");
+#else
 			DWORD winversion = GetVersion();
 			DWORD major = (DWORD)(LOBYTE(LOWORD(winversion)));
 			DWORD minor = (DWORD)(HIBYTE(LOWORD(winversion)));
 			if (major > 6 || (major == 6 && minor > 0))
 				LoadLibraryA("exchndl.dll");
+#endif
 		}
 	}
 #endif
diff --git a/src/win32/win_main.c b/src/win32/win_main.c
index 3da9e89ae6..06c17fe3fd 100644
--- a/src/win32/win_main.c
+++ b/src/win32/win_main.c
@@ -668,11 +668,16 @@ int WINAPI WinMain (HINSTANCE hInstance,
 			// XP and Vista users can't use the newest exchndl.dll
 			// and older exchndl.dll won't work with release builds >= 2.1.21
 			// Check for >= Version 6.1 (Win7)
+#if defined(_INC_VERSIONHELPERS) || defined(_versionhelpers_H_INCLUDED_)
+			if (IsWindows7OrGreater())
+				LoadLibraryA("exchndl.dll");
+#else
 			DWORD winversion = GetVersion();
 			DWORD major = (DWORD)(LOBYTE(LOWORD(winversion)));
 			DWORD minor = (DWORD)(HIBYTE(LOWORD(winversion)));
 			if (major > 6 || (major == 6 && minor > 0))
 				LoadLibraryA("exchndl.dll");
+#endif
 #if 0
 		}
 #endif
-- 
GitLab