diff options
author | Daniel Teske <daniel.teske@digia.com> | 2012-10-17 15:55:20 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2012-10-22 11:16:36 +0200 |
commit | fbdb113970975e76453e791f25dedd5fffa16566 (patch) | |
tree | 74bad282e7907f5d305ba73efc8c3db25550ddce /src/plugins/projectexplorer/buildconfiguration.cpp | |
parent | a81563afddb8b0f38fef51aafbe57b77437daf25 (diff) | |
download | qt-creator-fbdb113970975e76453e791f25dedd5fffa16566.tar.gz |
BuildConfiguration: Only emit environmentChanged() on actual changes
Change-Id: I7c9464c935c40151e8d97cd7360c5a8386abc6f1
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer/buildconfiguration.cpp')
-rw-r--r-- | src/plugins/projectexplorer/buildconfiguration.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index c49239b451..21462fe206 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -157,6 +157,8 @@ 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(); + qDeleteAll(m_stepLists); m_stepLists.clear(); @@ -187,9 +189,18 @@ bool BuildConfiguration::fromMap(const QVariantMap &map) return ProjectConfiguration::fromMap(map); } +void BuildConfiguration::emitEnvironmentChanged() +{ + Utils::Environment env = environment(); + if (env == m_lastEnvironment) + return; + m_lastEnvironment = env; + emit environmentChanged(); +} + void BuildConfiguration::handleKitUpdate() { - emit environmentChanged(); + emitEnvironmentChanged(); } Target *BuildConfiguration::target() const @@ -226,7 +237,7 @@ void BuildConfiguration::setUseSystemEnvironment(bool b) if (useSystemEnvironment() == b) return; m_clearSystemEnvironment = !b; - emit environmentChanged(); + emitEnvironmentChanged(); } bool BuildConfiguration::useSystemEnvironment() const @@ -244,7 +255,7 @@ void BuildConfiguration::setUserEnvironmentChanges(const QList<Utils::Environmen if (m_userEnvironmentChanges == diff) return; m_userEnvironmentChanges = diff; - emit environmentChanged(); + emitEnvironmentChanged(); } void BuildConfiguration::cloneSteps(BuildConfiguration *source) |