From 02fd2c19fd95919c796557aa466026a118db28e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 3 Jul 2024 18:24:35 +0200 Subject: [PATCH] macOS: Add missing product names for QSysInfo::prettyProductName() And restructure the logic a bit for easier maintenance in the future. Pick-to: 6.7 6.5 Change-Id: I6ff7396378bf02e177a4fb06978683474a79ad2f Reviewed-by: Timur Pocheptsov Reviewed-by: Thiago Macieira (cherry picked from commit 61b70bd7de91a2aab8609e1f878043d2aceb6bfd) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/global/qsysinfo.cpp | 44 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/src/corelib/global/qsysinfo.cpp b/src/corelib/global/qsysinfo.cpp index 0ca04154e65..d4079e0d8df 100644 --- a/src/corelib/global/qsysinfo.cpp +++ b/src/corelib/global/qsysinfo.cpp @@ -91,32 +91,30 @@ using namespace Qt::StringLiterals; static const char *osVer_helper(QOperatingSystemVersion version = QOperatingSystemVersion::current()) { #ifdef Q_OS_MACOS - if (version.majorVersion() == 13) - return "Ventura"; - if (version.majorVersion() == 12) - return "Monterey"; - // Compare against predefined constant to handle 10.16/11.0 - if (QOperatingSystemVersion::MacOSBigSur.version().isPrefixOf(version.version())) - return "Big Sur"; - if (version.majorVersion() == 10) { + switch (version.majorVersion()) { + case 10: { switch (version.minorVersion()) { - case 9: - return "Mavericks"; - case 10: - return "Yosemite"; - case 11: - return "El Capitan"; - case 12: - return "Sierra"; - case 13: - return "High Sierra"; - case 14: - return "Mojave"; - case 15: - return "Catalina"; + case 9: return "Mavericks"; + case 10: return "Yosemite"; + case 11: return "El Capitan"; + case 12: return "Sierra"; + case 13: return "High Sierra"; + case 14: return "Mojave"; + case 15: return "Catalina"; + case 16: return "Big Sur"; + default: + Q_UNREACHABLE(); } } - // unknown, future version + case 11: return "Big Sur"; + case 12: return "Monterey"; + case 13: return "Ventura"; + case 14: return "Sonoma"; + case 15: return "Sequoia"; + default: + // Unknown, future version + break; + } #else Q_UNUSED(version); #endif