diff options
3 files changed, 10 insertions, 15 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index e427fecf62..93593392e9 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -148,8 +148,6 @@ void CMakeBuildConfiguration::ctor() m_buildDirManager, &BuildDirManager::forceReparse); connect(this, &CMakeBuildConfiguration::buildDirectoryChanged, m_buildDirManager, &BuildDirManager::forceReparse); - connect(target(), &Target::kitChanged, this, &CMakeBuildConfiguration::maybeForceReparse); - connect(project, &Project::activeTargetChanged, this, &CMakeBuildConfiguration::maybeForceReparse); connect(this, &CMakeBuildConfiguration::parsingStarted, project, &CMakeProject::handleParsingStarted); connect(this, &CMakeBuildConfiguration::dataAvailable, project, &CMakeProject::parseCMakeOutput); @@ -174,11 +172,6 @@ bool CMakeBuildConfiguration::isParsing() const return m_buildDirManager && m_buildDirManager->isParsing(); } -void CMakeBuildConfiguration::parse() -{ - m_buildDirManager->parse(); -} - void CMakeBuildConfiguration::resetData() { m_buildDirManager->resetData(); diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h index 1a43980fe1..01a6910240 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.h @@ -73,7 +73,7 @@ public: bool isParsing() const; - void parse(); + void maybeForceReparse(); void resetData(); bool persistCMakeState(); @@ -93,7 +93,6 @@ protected: private: void ctor(); - void maybeForceReparse(); QList<ConfigModel::DataItem> completeCMakeConfiguration() const; void setCurrentCMakeConfiguration(const QList<ConfigModel::DataItem> &items); diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 1bb32c84c0..4ee11e6074 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -92,6 +92,8 @@ CMakeProject::CMakeProject(CMakeManager *manager, const FileName &fileName) setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX)); rootProjectNode()->setDisplayName(fileName.parentDir().fileName()); + + connect(this, &CMakeProject::activeTargetChanged, this, &CMakeProject::handleActiveTargetChanged); } CMakeProject::~CMakeProject() @@ -439,10 +441,6 @@ Project::RestoreResult CMakeProject::fromMap(const QVariantMap &map, QString *er RestoreResult result = Project::fromMap(map, errorMessage); if (result != RestoreResult::Ok) return result; - - handleActiveTargetChanged(); - handleActiveBuildConfigurationChanged(); - return RestoreResult::Ok; } @@ -461,7 +459,8 @@ void CMakeProject::handleActiveTargetChanged() if (m_connectedTarget) { disconnect(m_connectedTarget, &Target::activeBuildConfigurationChanged, this, &CMakeProject::handleActiveBuildConfigurationChanged); - + disconnect(m_connectedTarget, &Target::kitChanged, + this, &CMakeProject::handleActiveBuildConfigurationChanged); } m_connectedTarget = activeTarget(); @@ -469,7 +468,11 @@ void CMakeProject::handleActiveTargetChanged() if (m_connectedTarget) { connect(m_connectedTarget, &Target::activeBuildConfigurationChanged, this, &CMakeProject::handleActiveBuildConfigurationChanged); + connect(m_connectedTarget, &Target::kitChanged, + this, &CMakeProject::handleActiveBuildConfigurationChanged); } + + handleActiveBuildConfigurationChanged(); } void CMakeProject::handleActiveBuildConfigurationChanged() @@ -483,7 +486,7 @@ void CMakeProject::handleActiveBuildConfigurationChanged() auto i = qobject_cast<CMakeBuildConfiguration *>(bc); QTC_ASSERT(i, continue); if (i == activeBc) - i->parse(); + i->maybeForceReparse(); else i->resetData(); } |