From b1e871e9b0d73e0ff16fc8dda7148301153e3d9d Mon Sep 17 00:00:00 2001
From: Fawzi Mohamed <fawzi.mohamed@digia.com>
Date: Mon, 16 Dec 2013 13:30:52 +0100
Subject: [PATCH] projectexplorer: fix target buildDirectoryChanged signal

Change-Id: Ie46371cac2d345411247c1d2035ee2d5f3b8c00a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 src/plugins/projectexplorer/target.cpp                  | 4 +++-
 src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp | 1 -
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp
index 78c8fad0c2d..b4c46d8e324 100644
--- a/src/plugins/projectexplorer/target.cpp
+++ b/src/plugins/projectexplorer/target.cpp
@@ -177,7 +177,7 @@ void Target::changeRunConfigurationEnabled()
 void Target::onBuildDirectoryChanged()
 {
     BuildConfiguration *bc = qobject_cast<BuildConfiguration *>(sender());
-    if (bc)
+    if (bc && activeBuildConfiguration() == bc)
         emit buildDirectoryChanged();
 }
 
@@ -238,6 +238,8 @@ void Target::addBuildConfiguration(BuildConfiguration *configuration)
             SLOT(changeEnvironment()));
     connect(configuration, SIGNAL(enabledChanged()),
             this, SLOT(changeBuildConfigurationEnabled()));
+    connect(configuration, SIGNAL(buildDirectoryChanged()),
+            SLOT(onBuildDirectoryChanged()));
 
     if (!activeBuildConfiguration())
         setActiveBuildConfiguration(configuration);
diff --git a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
index 7ed940489eb..f489f3b1a05 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildconfiguration.cpp
@@ -65,7 +65,6 @@ QbsBuildConfiguration::QbsBuildConfiguration(ProjectExplorer::Target *target) :
     connect(project(), SIGNAL(projectParsingStarted()), this, SIGNAL(enabledChanged()));
     connect(project(), SIGNAL(projectParsingDone(bool)), this, SIGNAL(enabledChanged()));
 
-    connect(this, SIGNAL(buildDirectoryChanged()), target, SLOT(onBuildDirectoryChanged()));
     ProjectExplorer::BuildStepList *bsl
             = stepList(Core::Id(ProjectExplorer::Constants::BUILDSTEPS_BUILD));
     connect(bsl, SIGNAL(stepInserted(int)), this, SLOT(buildStepInserted(int)));
-- 
GitLab