summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-09-12 17:38:12 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2014-09-15 11:45:16 +0200
commit4cfaeb8b519334370ed769d0a578cc4e5ef4d340 (patch)
tree3b8270a620477ab19b1452069e625938bc6ce408
parent165f759e184b28be8bb071e6ed3308436e404238 (diff)
downloadqt-creator-4cfaeb8b519334370ed769d0a578cc4e5ef4d340.tar.gz
QbsProjectManager: Fix crash when calling QbsProject::files().
We can't do that during parsing, as qbs::Project::buildSystemFiles() might run into a race condition. Change-Id: Iae3fd3000fdc71fec50c82d50fb3b4e3888351bc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index e115649868..a973cf585b 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -190,11 +190,11 @@ static void collectFilesForProject(const qbs::ProjectData &project, QSet<QString
QStringList QbsProject::files(Project::FilesMode fileMode) const
{
Q_UNUSED(fileMode);
- if (!m_rootProjectNode || !m_rootProjectNode->qbsProjectData().isValid())
+ if (!m_qbsProject.isValid() || isParsing())
return QStringList();
QSet<QString> result;
- collectFilesForProject(m_rootProjectNode->qbsProjectData(), result);
- result.unite(qbsProject().buildSystemFiles());
+ collectFilesForProject(m_projectData, result);
+ result.unite(m_qbsProject.buildSystemFiles());
return result.toList();
}