From 7bbfa2de16b3fa64805bbbe0866fea78e704072a Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 17 Oct 2019 14:34:15 +0200 Subject: [PATCH] QmakeProjectManager: Do not start parsing without a target This "feature" generated misleading output when opening a project initially. Change-Id: I86c541266ffbf576899004f4e6401feea6f38173 Reviewed-by: Eike Ziller --- src/plugins/qmakeprojectmanager/qmakeproject.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index d8b9744ce86..28658414534 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -197,12 +197,12 @@ Project::RestoreResult QmakeProject::fromMap(const QVariantMap &map, QString *er if (m_activeTarget) { connect(m_activeTarget, &Target::activeBuildConfigurationChanged, this, &QmakeProject::scheduleAsyncUpdateLater); + scheduleAsyncUpdate(QmakeProFile::ParseNow); } connect(this, &Project::activeTargetChanged, this, &QmakeProject::activeTargetWasChanged); - scheduleAsyncUpdate(QmakeProFile::ParseNow); return RestoreResult::Ok; } @@ -707,7 +707,8 @@ QmakeProFileNode *QmakeProject::rootProjectNode() const void QmakeProject::activeTargetWasChanged() { - if (m_activeTarget) { + const bool hadActiveTarget = m_activeTarget; + if (hadActiveTarget) { disconnect(m_activeTarget, &Target::activeBuildConfigurationChanged, this, &QmakeProject::scheduleAsyncUpdateLater); } @@ -721,7 +722,7 @@ void QmakeProject::activeTargetWasChanged() connect(m_activeTarget, &Target::activeBuildConfigurationChanged, this, &QmakeProject::scheduleAsyncUpdateLater); - scheduleAsyncUpdate(); + scheduleAsyncUpdate(hadActiveTarget ? QmakeProFile::ParseLater : QmakeProFile::ParseNow); } static void notifyChangedHelper(const FilePath &fileName, QmakeProFile *file)