Utils: Allow multiple edits of an environment variable

There is no reason to limit the environment modifications to unique
variables. The environment modifications are processed sequentially
from top to bottom and there may modifications that are done on the
same variable (e.g. once a prepend, once an append,..)

Change-Id: I8a187737be1108e537a926239088c6352dc92957
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Christian Stenger
2024-03-14 10:57:48 +01:00
parent 59669a929e
commit c9d51cfa4a

View File

@@ -21,8 +21,7 @@ namespace Internal {
static EnvironmentItems cleanUp(const EnvironmentItems &items) static EnvironmentItems cleanUp(const EnvironmentItems &items)
{ {
EnvironmentItems uniqueItems; EnvironmentItems cleanedItems;
QSet<QString> uniqueSet;
for (int i = items.count() - 1; i >= 0; i--) { for (int i = items.count() - 1; i >= 0; i--) {
EnvironmentItem item = items.at(i); EnvironmentItem item = items.at(i);
if (HostOsInfo::isWindowsHost()) if (HostOsInfo::isWindowsHost())
@@ -30,10 +29,10 @@ static EnvironmentItems cleanUp(const EnvironmentItems &items)
const QString &itemName = item.name; const QString &itemName = item.name;
QString emptyName = itemName; QString emptyName = itemName;
emptyName.remove(QLatin1Char(' ')); emptyName.remove(QLatin1Char(' '));
if (!emptyName.isEmpty() && Utils::insert(uniqueSet, itemName)) if (!emptyName.isEmpty())
uniqueItems.prepend(item); cleanedItems.prepend(item);
} }
return uniqueItems; return cleanedItems;
} }
class TextEditHelper : public QPlainTextEdit class TextEditHelper : public QPlainTextEdit