From 06d2a5cf61ddc6095754a88f6e51153cb29e7134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Fri, 22 Oct 2021 13:27:22 +0200 Subject: [PATCH] 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 --- src/corelib/global/qglobal.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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