diff --git a/src/libs/utils/terminalinterface.cpp b/src/libs/utils/terminalinterface.cpp index 3cd1e5bb21d..de3f57145cc 100644 --- a/src/libs/utils/terminalinterface.cpp +++ b/src/libs/utils/terminalinterface.cpp @@ -356,8 +356,9 @@ void TerminalInterface::start() return; } QTextStream stream(d->envListFile.get()); - finalEnv.forEachEntry([&stream](const QString &key, const QString &value, bool) { - stream << key << '=' << value << '\0'; + finalEnv.forEachEntry([&stream](const QString &key, const QString &value, bool enabled) { + if (enabled) + stream << key << '=' << value << '\0'; }); if (d->envListFile->error() != QFile::NoError) { diff --git a/src/plugins/cmakeprojectmanager/presetsmacros.cpp b/src/plugins/cmakeprojectmanager/presetsmacros.cpp index 220d6d6575d..7681d2f7e13 100644 --- a/src/plugins/cmakeprojectmanager/presetsmacros.cpp +++ b/src/plugins/cmakeprojectmanager/presetsmacros.cpp @@ -116,8 +116,10 @@ static Environment getEnvCombined(const std::optional &optPresetEnv Environment result = env; if (optPresetEnv) { - optPresetEnv->forEachEntry([&result](const QString &key, const QString &value, bool) { - result.set(key, value); + optPresetEnv->forEachEntry([&result](const QString &key, const QString &value, + bool enabled) { + if (enabled) + result.set(key, value); }); } @@ -128,7 +130,9 @@ template void expand(const PresetType &preset, Environment &env, const FilePath &sourceDirectory) { const Environment presetEnv = getEnvCombined(preset.environment, env); - presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool) { + presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool enabled) { + if (!enabled) + return; QString value = value_; expandAllButEnv(preset, sourceDirectory, value); value = expandMacroEnv("env", value, [presetEnv](const QString ¯oName) { @@ -163,7 +167,9 @@ template void expand(const PresetType &preset, EnvironmentItems &envItems, const FilePath &sourceDirectory) { const Environment presetEnv = preset.environment ? *preset.environment : Environment(); - presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool) { + presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool enabled) { + if (!enabled) + return; QString value = value_; expandAllButEnv(preset, sourceDirectory, value); value = expandMacroEnv("env", value, [presetEnv](const QString ¯oName) { diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index 7dc014eadaf..03e6c0f00e8 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -662,9 +662,11 @@ CommandLine DockerDevicePrivate::withDockerExecCmd(const CommandLine &cmd, dockerCmd.addArg("-t"); if (env) { - env->forEachEntry([&](const QString &key, const QString &value, bool) { - dockerCmd.addArg("-e"); - dockerCmd.addArg(key + "=" + env->expandVariables(value)); + env->forEachEntry([&](const QString &key, const QString &value, bool enabled) { + if (enabled) { + dockerCmd.addArg("-e"); + dockerCmd.addArg(key + "=" + env->expandVariables(value)); + } }); } diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 53639778950..027aa5d2101 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -867,8 +867,9 @@ QtSupport::ProFileReader *QmakeBuildSystem::createProFileReader(const QmakeProFi rootProFileName, deviceRoot()); - env.forEachEntry([&](const QString &key, const QString &value, bool) { - m_qmakeGlobals->environment.insert(key, env.expandVariables(value)); + env.forEachEntry([&](const QString &key, const QString &value, bool enabled) { + if (enabled) + m_qmakeGlobals->environment.insert(key, env.expandVariables(value)); }); m_qmakeGlobals->setCommandLineArguments(rootProFileName, qmakeArgs); diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index 565b0675503..3f875f1ef4b 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -768,8 +768,9 @@ CommandLine SshProcessInterfacePrivate::fullLocalCommandLine() const inner.addArgs(QString("echo ") + s_pidMarker + "$$" + s_pidMarker + " && ", CommandLine::Raw); const Environment &env = q->m_setup.m_environment; - env.forEachEntry([&](const QString &key, const QString &value, bool) { - inner.addArgs(key + "='" + env.expandVariables(value) + '\'', CommandLine::Raw); + env.forEachEntry([&](const QString &key, const QString &value, bool enabled) { + if (enabled) + inner.addArgs(key + "='" + env.expandVariables(value) + '\'', CommandLine::Raw); }); if (!useTerminal && !commandLine.isEmpty())