From ab9cce7fe7adba200744c5930600d3d1c43a9073 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 29 Jan 2018 13:05:13 +0100 Subject: 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 Reviewed-by: hjk --- src/libs/utils/environmentmodel.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/libs/utils/environmentmodel.cpp') diff --git a/src/libs/utils/environmentmodel.cpp b/src/libs/utils/environmentmodel.cpp index 4191d3abee..fde8e7ad55 100644 --- a/src/libs/utils/environmentmodel.cpp +++ b/src/libs/utils/environmentmodel.cpp @@ -364,6 +364,13 @@ void EnvironmentModel::setUserChanges(QList 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(); -- cgit v1.2.1