From 479a791ab2696d5c5571c99d1313681dd12d40d0 Mon Sep 17 00:00:00 2001
From: Tobias Koenig <tobias.koenig@kdab.com>
Date: Wed, 13 Apr 2016 13:03:12 +0200
Subject: [PATCH] Fix QSysInfo::windowsVersion() on WinCE

Use the GetVersionEx method on WinCE. The ntdll.dll does not
exist on that platform, therefor a wrong version number was returned.

Change-Id: I7b51757d0fb612dcd8832e0903a93b9d1c6746c0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
---
 src/corelib/global/qglobal.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 461b0f383d4..77724d2a0d2 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -1940,6 +1940,7 @@ static inline OSVERSIONINFO winOsVersion()
 #define pGetModuleHandle GetModuleHandleW
 #endif
 
+#ifndef Q_OS_WINCE
     HMODULE ntdll = pGetModuleHandle(L"ntdll.dll");
     if (Q_UNLIKELY(!ntdll))
         return result;
@@ -1959,6 +1960,10 @@ static inline OSVERSIONINFO winOsVersion()
     // GetVersionEx() has been deprecated in Windows 8.1 and will return
     // only Windows 8 from that version on, so use the kernel API function.
     pRtlGetVersion(&result); // always returns STATUS_SUCCESS
+#else // !Q_OS_WINCE
+    GetVersionEx(&result);
+#endif
+
     return result;
 }
 
-- 
GitLab