diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp index 6bccc16dcc601af612388ae3dc36c8b4219a5503..f84d8e5b4dd0e5804cfd044d9900d98825b45512 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp @@ -148,7 +148,7 @@ void Qt4BuildConfiguration::kitChanged() // For that reason the Qt4BuildConfiguration is also connected // to the toolchain and qtversion managers emitProFileEvaluateNeeded(); - emitBuildDirectoryChanged(); + updateShadowBuild(); m_lastKitState = newState; } } @@ -165,15 +165,15 @@ void Qt4BuildConfiguration::qtVersionsChanged(const QList<int> &,const QList<int emitProFileEvaluateNeeded(); } -bool Qt4BuildConfiguration::emitBuildDirectoryChanged() +void Qt4BuildConfiguration::updateShadowBuild() { // We also emit buildDirectoryChanged if the the Qt version's supportShadowBuild changed - if (supportsShadowBuilds() != m_qtVersionSupportsShadowBuilds) { - m_qtVersionSupportsShadowBuilds = supportsShadowBuilds(); - emit buildDirectoryChanged(); - return true; + bool currentShadowBuild = supportsShadowBuilds(); + if (currentShadowBuild != m_qtVersionSupportsShadowBuilds) { + if (!currentShadowBuild) + setBuildDirectory(Utils::FileName::fromString(target()->project()->projectDirectory())); + m_qtVersionSupportsShadowBuilds = currentShadowBuild; } - return false; } NamedWidget *Qt4BuildConfiguration::createConfigWidget() diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.h b/src/plugins/qt4projectmanager/qt4buildconfiguration.h index b12dcaa1326670749ac5b7442e2bed155e259b59..b6256df57bff0fed34c15bbb6a4b995a1a4b4f17 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.h +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.h @@ -125,7 +125,6 @@ private slots: void kitChanged(); void toolChainUpdated(ProjectExplorer::ToolChain *tc); void qtVersionsChanged(const QList<int> &, const QList<int> &, const QList<int> &changed); - bool emitBuildDirectoryChanged(); protected: Qt4BuildConfiguration(ProjectExplorer::Target *target, Qt4BuildConfiguration *source); @@ -136,6 +135,7 @@ private: void ctor(); QString defaultShadowBuildDirectory() const; void setBuildDirectory(const Utils::FileName &directory); + void updateShadowBuild(); class LastKitState {