aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/environmentmodel.cpp
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2018-01-29 13:05:13 +0100
committerDavid Schulz <david.schulz@qt.io>2018-02-01 05:36:32 +0000
commitab9cce7fe7adba200744c5930600d3d1c43a9073 (patch)
tree8784605b1d7a496c88a31ab2ef8c494e406f20da /src/libs/utils/environmentmodel.cpp
parent88d65af7d3cf03f589f8b0f72acb1f05f8223ea8 (diff)
Utils: use system case for environment variables on windows
Match case of user changed environment variables to the already defined variables. Change-Id: Ic012d35faa0822df3523ab642491c9f19051853c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/libs/utils/environmentmodel.cpp')
-rw-r--r--src/libs/utils/environmentmodel.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/utils/environmentmodel.cpp b/src/libs/utils/environmentmodel.cpp
index 4191d3abeee..fde8e7ad550 100644
--- a/src/libs/utils/environmentmodel.cpp
+++ b/src/libs/utils/environmentmodel.cpp
@@ -364,6 +364,13 @@ void EnvironmentModel::setUserChanges(QList<EnvironmentItem> list)
name = name.trimmed();
if (name.startsWith(QLatin1String("export ")))
name = name.mid(7).trimmed();
+ if (d->m_baseEnvironment.osType() == OsTypeWindows) {
+ // Environment variable names are case-insensitive under windows, but we still
+ // want to preserve the case of pre-existing variables.
+ auto it = d->m_baseEnvironment.constFind(name);
+ if (it != d->m_baseEnvironment.constEnd())
+ name = d->m_baseEnvironment.key(it);
+ }
}
d->updateResultEnvironment();