diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index d370e3659af..643e721898d 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -120,7 +120,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) : connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(parseCurrentBuildConfiguration())); - updateDocuments(0); + updateDocuments(QSet() << fileName); m_rootProjectNode = new QbsProjectNode(this); // needs documents to be initialized! } @@ -282,7 +282,7 @@ void QbsProject::handleQbsParsingDone(bool success) m_rootProjectNode->update(project); - updateDocuments(m_rootProjectNode->qbsProjectData()); + updateDocuments(project ? project->buildSystemFiles() : QSet() << m_fileName); updateCppCodeModel(m_rootProjectNode->qbsProjectData()); updateQmlJsCodeModel(m_rootProjectNode->qbsProjectData()); @@ -465,17 +465,11 @@ void QbsProject::prepareForParsing() m_qbsUpdateFutureInterface->reportStarted(); } -void QbsProject::updateDocuments(const qbs::ProjectData *prj) +void QbsProject::updateDocuments(const QSet &files) { // Update documents: - QSet newFiles; - newFiles.insert(m_fileName); // make sure we always have the project file... - - if (prj) { - newFiles.insert(prj->location().fileName()); - foreach (const qbs::ProductData &prd, prj->products()) - newFiles.insert(prd.location().fileName()); - } + QSet newFiles = files; + QTC_ASSERT(!newFiles.isEmpty(), newFiles << m_fileName); QSet oldFiles; foreach (Core::IDocument *doc, m_qbsDocuments) oldFiles.insert(doc->fileName()); diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h index 7c3806a2319..d657dc105be 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.h +++ b/src/plugins/qbsprojectmanager/qbsproject.h @@ -122,7 +122,7 @@ private: void generateErrors(const qbs::ErrorInfo &e); void prepareForParsing(); - void updateDocuments(const qbs::ProjectData *prj); + void updateDocuments(const QSet &files); void updateCppCodeModel(const qbs::ProjectData *prj); void updateQmlJsCodeModel(const qbs::ProjectData *prj); QString qbsBuildDir() const; diff --git a/src/shared/qbs b/src/shared/qbs index 36c7dba4ae3..22a2777a898 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 36c7dba4ae3688e354f6e6985b3da4429b9084fd +Subproject commit 22a2777a898fdef6f2d5fc4f93a8c11682ecf4ea