From 06b6fff25e2bc32691302dd17288519dce42e3ce Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 6 Sep 2018 10:45:51 +0200 Subject: [PATCH] ProjectExplorer: Simplify LocalEnvspect's BaseEnvironmentModifier The run configuration is known at setup time, and fixed. Change-Id: Iad7837bf39fb5eeed49bd71b7f14b9692014ea9d Reviewed-by: Tobias Hunger --- src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp | 6 +++--- src/plugins/projectexplorer/localenvironmentaspect.cpp | 2 +- src/plugins/projectexplorer/localenvironmentaspect.h | 2 +- src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp | 4 +--- .../qmakeprojectmanager/desktopqmakerunconfiguration.cpp | 4 ++-- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp index f27c6156a95..d0743236869 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp @@ -44,11 +44,11 @@ CMakeRunConfiguration::CMakeRunConfiguration(Target *target, Core::Id id) : RunConfiguration(target, id) { // Workaround for QTCREATORBUG-19354: - auto cmakeRunEnvironmentModifier = [](RunConfiguration *rc, Utils::Environment &env) { - if (!Utils::HostOsInfo::isWindowsHost() || !rc) + auto cmakeRunEnvironmentModifier = [target](Utils::Environment &env) { + if (!Utils::HostOsInfo::isWindowsHost()) return; - const Kit *k = rc->target()->kit(); + const Kit *k = target->kit(); const QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(k); if (qt) env.prependOrSetPath(qt->qmakeProperty("QT_INSTALL_BINS")); diff --git a/src/plugins/projectexplorer/localenvironmentaspect.cpp b/src/plugins/projectexplorer/localenvironmentaspect.cpp index 6fba5e0b7be..e6b9d94cece 100644 --- a/src/plugins/projectexplorer/localenvironmentaspect.cpp +++ b/src/plugins/projectexplorer/localenvironmentaspect.cpp @@ -56,7 +56,7 @@ Utils::Environment LocalEnvironmentAspect::baseEnvironment() const } if (m_baseEnvironmentModifier) - m_baseEnvironmentModifier(runConfiguration(), env); + m_baseEnvironmentModifier(env); return env; } diff --git a/src/plugins/projectexplorer/localenvironmentaspect.h b/src/plugins/projectexplorer/localenvironmentaspect.h index a089cfa7f17..24f78febf75 100644 --- a/src/plugins/projectexplorer/localenvironmentaspect.h +++ b/src/plugins/projectexplorer/localenvironmentaspect.h @@ -34,7 +34,7 @@ class PROJECTEXPLORER_EXPORT LocalEnvironmentAspect : public EnvironmentAspect Q_OBJECT public: - typedef std::function BaseEnvironmentModifier; + typedef std::function BaseEnvironmentModifier; LocalEnvironmentAspect(RunConfiguration *parent, const BaseEnvironmentModifier &modifier); Utils::Environment baseEnvironment() const override; diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp index ce09c16d781..158db994aed 100644 --- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp +++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp @@ -53,9 +53,7 @@ QbsRunConfiguration::QbsRunConfiguration(Target *target, Core::Id id) : RunConfiguration(target, id) { auto envAspect = addAspect( - [](RunConfiguration *rc, Environment &env) { - static_cast(rc)->addToBaseEnvironment(env); - }); + [this](Environment &env) { addToBaseEnvironment(env); }); addAspect(); addAspect(); diff --git a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp index 6ee9d5e4baf..6ed10856e69 100644 --- a/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp +++ b/src/plugins/qmakeprojectmanager/desktopqmakerunconfiguration.cpp @@ -63,8 +63,8 @@ const char PRO_FILE_KEY[] = "Qt4ProjectManager.Qt4RunConfiguration.ProFile"; DesktopQmakeRunConfiguration::DesktopQmakeRunConfiguration(Target *target, Core::Id id) : RunConfiguration(target, id) { - auto envAspect = addAspect([](RunConfiguration *rc, Environment &env) { - static_cast(rc)->addToBaseEnvironment(env); + auto envAspect = addAspect([this](Environment &env) { + addToBaseEnvironment(env); }); addAspect();