diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 512e0124dec..9b66abfeee6 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -375,8 +375,6 @@ void CMakeProject::updateProjectData(CMakeBuildConfiguration *bc) Target *t = bc->target(); t->setApplicationTargets(bc->appTargets()); t->setDeploymentData(bc->deploymentData()); - - t->updateDefaultRunConfigurations(); } { diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index ae7b563dbd2..1996d8c96fc 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -118,6 +118,12 @@ Target::Target(Project *project, Kit *k, _constructor_tag) : { QTC_CHECK(d->m_kit); connect(DeviceManager::instance(), &DeviceManager::updated, this, &Target::updateDeviceState); + connect(project, &Project::parsingFinished, this, [this](bool success) { + if (success && this->project() == SessionManager::startupProject() + && this == this->project()->activeTarget()) { + updateDefaultRunConfigurations(); + } + }, Qt::QueuedConnection); // Must wait for run configs to change their enabled state. setDisplayName(d->m_kit->displayName()); setToolTip(d->m_kit->toHtml()); diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index a634aaf3ca8..3d658ce8f7f 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -1199,8 +1199,6 @@ void QbsProject::updateBuildTargetData() OpTimer optimer("updateBuildTargetData"); updateApplicationTargets(); updateDeploymentInfo(); - if (activeTarget()) - activeTarget()->updateDefaultRunConfigurations(); } } // namespace Internal diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index c3426e9b417..281f88de579 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -348,12 +348,6 @@ void QmakeProject::updateQmlJSCodeModel() modelManager->updateProjectInfo(projectInfo, this); } -void QmakeProject::updateRunConfigurations() -{ - if (activeTarget()) - activeTarget()->updateDefaultRunConfigurations(); -} - void QmakeProject::scheduleAsyncUpdate(QmakeProFile *file, QmakeProFile::AsyncUpdateDelay delay) { if (m_asyncUpdateState == ShuttingDown) @@ -492,7 +486,6 @@ void QmakeProject::decrementPendingEvaluateFutures() updateBuildSystemData(); if (activeTarget()) activeTarget()->updateDefaultDeployConfigurations(); - updateRunConfigurations(); emitParsingFinished(true); // Qmake always returns (some) data, even when it failed:-) } } diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index 835496d176a..4c3169716bb 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -131,7 +131,6 @@ private: void setAllBuildConfigurationsEnabled(bool enabled); QString executableFor(const QmakeProFile *file); - void updateRunConfigurations(); void updateCppCodeModel(); void updateQmlJSCodeModel();