From 83d952c2d08c17454192cd00ebf1be48fed1a9dc Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 9 Jun 2015 12:17:15 +0200 Subject: Refactor handling of environment variable QT_WINVER_OVERRIDE. Rename variable named "override" and check using qEnvironmentVariableIsSet() to avoid constructing a QByteArray in the default case. Remove DOS-based OS. Change-Id: Ibf348cd74ada5be99b9d2ed7637184a786df8244 Reviewed-by: Joerg Bornemann --- src/corelib/global/qglobal.cpp | 49 ++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 28 deletions(-) (limited to 'src/corelib/global/qglobal.cpp') diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index 69066a674d..126bf62fb6 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -2046,34 +2046,27 @@ QSysInfo::WinVersion QSysInfo::windowsVersion() #ifdef QT_DEBUG { - QByteArray override = qgetenv("QT_WINVER_OVERRIDE"); - if (override.isEmpty()) - return winver; - - if (override == "Me") - winver = QSysInfo::WV_Me; - if (override == "95") - winver = QSysInfo::WV_95; - else if (override == "98") - winver = QSysInfo::WV_98; - else if (override == "NT") - winver = QSysInfo::WV_NT; - else if (override == "2000") - winver = QSysInfo::WV_2000; - else if (override == "2003") - winver = QSysInfo::WV_2003; - else if (override == "XP") - winver = QSysInfo::WV_XP; - else if (override == "VISTA") - winver = QSysInfo::WV_VISTA; - else if (override == "WINDOWS7") - winver = QSysInfo::WV_WINDOWS7; - else if (override == "WINDOWS8") - winver = QSysInfo::WV_WINDOWS8; - else if (override == "WINDOWS8_1") - winver = QSysInfo::WV_WINDOWS8_1; - else if (override == "WINDOWS10") - winver = QSysInfo::WV_WINDOWS10; + if (Q_UNLIKELY(qEnvironmentVariableIsSet("QT_WINVER_OVERRIDE"))) { + const QByteArray winVerOverride = qgetenv("QT_WINVER_OVERRIDE"); + if (winVerOverride == "NT") + winver = QSysInfo::WV_NT; + else if (winVerOverride == "2000") + winver = QSysInfo::WV_2000; + else if (winVerOverride == "2003") + winver = QSysInfo::WV_2003; + else if (winVerOverride == "XP") + winver = QSysInfo::WV_XP; + else if (winVerOverride == "VISTA") + winver = QSysInfo::WV_VISTA; + else if (winVerOverride == "WINDOWS7") + winver = QSysInfo::WV_WINDOWS7; + else if (winVerOverride == "WINDOWS8") + winver = QSysInfo::WV_WINDOWS8; + else if (winVerOverride == "WINDOWS8_1") + winver = QSysInfo::WV_WINDOWS8_1; + else if (winVerOverride == "WINDOWS10") + winver = QSysInfo::WV_WINDOWS10; + } } #endif #endif // !Q_OS_WINRT -- cgit v1.2.3