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>
This commit is contained in:
parent
77fb9ca271
commit
479a791ab2
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user