diff options
author | Mårten Nordheim <marten.nordheim@qt.io> | 2021-10-22 13:27:22 +0200 |
---|---|---|
committer | Mårten Nordheim <marten.nordheim@qt.io> | 2021-10-24 07:50:02 +0000 |
commit | 06d2a5cf61ddc6095754a88f6e51153cb29e7134 (patch) | |
tree | 38760021153f802c0012b9d3e0061c8e49a5c6d6 /src | |
parent | 4c50810a1ad41fd376cc78cf78ed18185e84aa81 (diff) |
Update windows version detection
Since the API still doesn't return 11.
Pick-to: 6.2 5.15
Change-Id: Ifd4f7f845915702fcbb0f857487358ae8e806273
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/global/qglobal.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index fd139a1e53..d455f887ed 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -2215,7 +2215,17 @@ static const char *osVer_helper(QOperatingSystemVersion version = QOperatingSyst #define Q_WINVER(major, minor) (major << 8 | minor) switch (Q_WINVER(osver.dwMajorVersion, osver.dwMinorVersion)) { case Q_WINVER(10, 0): - return workstation ? "10" : "Server 2016"; + if (workstation) { + if (osver.dwBuildNumber >= 22000) + return "11"; + return "10"; + } + // else: Server + if (osver.dwBuildNumber >= 20348) + return "Server 2022"; + if (osver.dwBuildNumber >= 17763) + return "Server 2019"; + return "Server 2016"; } #undef Q_WINVER // unknown, future version |