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