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 <joerg.bornemann@theqtcompany.com>
bb10
Friedemann Kleint 2015-06-09 12:17:15 +02:00
parent bf440c18bb
commit 83d952c2d0
1 changed files with 21 additions and 28 deletions

View File

@ -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