diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index b264cd2f6c2..59bf6d1dd7b 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -297,22 +297,22 @@ void QbsProject::handleQbsParsingDone(bool success) delete m_qbsUpdateFutureInterface; m_qbsUpdateFutureInterface = 0; - if (!project.isValid()) - return; + if (project.isValid()) { + // Do not throw away data when parsing errors were introduced. That frightens users:-) + m_rootProjectNode->update(project); - m_rootProjectNode->update(project); + updateDocuments(project.isValid() ? project.buildSystemFiles() : QSet() << m_fileName); - updateDocuments(project.isValid() ? project.buildSystemFiles() : QSet() << m_fileName); + updateCppCodeModel(m_rootProjectNode->qbsProjectData()); + updateQmlJsCodeModel(m_rootProjectNode->qbsProjectData()); + updateApplicationTargets(m_rootProjectNode->qbsProjectData()); + updateDeploymentInfo(m_rootProjectNode->qbsProject()); - updateCppCodeModel(m_rootProjectNode->qbsProjectData()); - updateQmlJsCodeModel(m_rootProjectNode->qbsProjectData()); - updateApplicationTargets(m_rootProjectNode->qbsProjectData()); - updateDeploymentInfo(m_rootProjectNode->qbsProject()); + foreach (Target *t, targets()) + t->updateDefaultRunConfigurations(); - foreach (Target *t, targets()) - t->updateDefaultRunConfigurations(); - - emit fileListChanged(); + emit fileListChanged(); + } emit projectParsingDone(success); }