summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/buildconfiguration.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2012-10-17 15:55:20 +0200
committerDaniel Teske <daniel.teske@digia.com>2012-10-22 11:16:36 +0200
commitfbdb113970975e76453e791f25dedd5fffa16566 (patch)
tree74bad282e7907f5d305ba73efc8c3db25550ddce /src/plugins/projectexplorer/buildconfiguration.cpp
parenta81563afddb8b0f38fef51aafbe57b77437daf25 (diff)
downloadqt-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.cpp17
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)