diff options
author | Daniel Teske <daniel.teske@digia.com> | 2013-04-19 13:19:46 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2013-04-19 14:51:39 +0200 |
commit | 2d568e79c470430e981a525ac27d4b2f1ed4e05e (patch) | |
tree | e67b8ee30386077c68459a5ea82e93b86caa56cc /src/plugins/projectexplorer/buildconfiguration.cpp | |
parent | 2ed88c44fd3b05b9e24cc649ecf11bc82fd1f3a3 (diff) | |
download | qt-creator-2d568e79c470430e981a525ac27d4b2f1ed4e05e.tar.gz |
Cache BuildConfiguration::environment()
Change-Id: I865593f46feb332c385733c53de5884e5cd3751a
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer/buildconfiguration.cpp')
-rw-r--r-- | src/plugins/projectexplorer/buildconfiguration.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 0f0754d9cc..65a82aa565 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -89,6 +89,8 @@ BuildConfiguration::BuildConfiguration(Target *target, const Core::Id id) : bsl->setDefaultDisplayName(tr("Clean")); m_stepLists.append(bsl); + emitEnvironmentChanged(); + connect(target, SIGNAL(kitChanged()), this, SLOT(handleKitUpdate())); } @@ -104,6 +106,8 @@ BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *sourc // otherwise BuildStepFactories might reject to set up a BuildStep for us // since we are not yet the derived class! + emitEnvironmentChanged(); + connect(target, SIGNAL(kitChanged()), this, SLOT(handleKitUpdate())); } @@ -159,7 +163,7 @@ bool BuildConfiguration::fromMap(const QVariantMap &map) m_clearSystemEnvironment = map.value(QLatin1String(CLEAR_SYSTEM_ENVIRONMENT_KEY)).toBool(); m_userEnvironmentChanges = Utils::EnvironmentItem::fromStringList(map.value(QLatin1String(USER_ENVIRONMENT_CHANGES_KEY)).toStringList()); - m_lastEnvironment = environment(); + emitEnvironmentChanged(); qDeleteAll(m_stepLists); m_stepLists.clear(); @@ -193,11 +197,12 @@ bool BuildConfiguration::fromMap(const QVariantMap &map) void BuildConfiguration::emitEnvironmentChanged() { - Utils::Environment env = environment(); - if (env == m_lastEnvironment) - return; - m_lastEnvironment = env; - emit environmentChanged(); + Utils::Environment env = baseEnvironment(); + env.modify(userEnvironmentChanges()); + if (env == m_cachedEnvironment) + return; + m_cachedEnvironment = env; + emit environmentChanged(); } void BuildConfiguration::handleKitUpdate() @@ -229,9 +234,7 @@ QString BuildConfiguration::baseEnvironmentText() const Utils::Environment BuildConfiguration::environment() const { - Utils::Environment env = baseEnvironment(); - env.modify(userEnvironmentChanges()); - return env; + return m_cachedEnvironment; } void BuildConfiguration::setUseSystemEnvironment(bool b) |