diff options
author | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2014-10-06 15:18:26 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2014-10-15 10:09:26 +0200 |
commit | 756fba0dfbb4e5ad9fae07ba24d903cb986cec99 (patch) | |
tree | 7d1e30e23cf0c77b4ec9c8de8f17d61f60580be0 /src/plugins/cpptools/cppmodelmanager.cpp | |
parent | 390b4f0e0b544c713fbac4369131fa9b80d60b1a (diff) | |
download | qt-creator-756fba0dfbb4e5ad9fae07ba24d903cb986cec99.tar.gz |
CppTools: Use mutex when accessing m_fileToProjectParts
projectPartFromDependencies() is also called from another thread.
Change-Id: Ic1319569d1b9b934a1be0916caa2e5bd68dce4fb
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index d67fab8bd5..a33e595a72 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -811,8 +811,12 @@ QList<ProjectPart::Ptr> CppModelManager::projectPartFromDependencies(const QStri { QSet<ProjectPart::Ptr> parts; const QStringList deps = snapshot().filesDependingOn(fileName); - foreach (const QString &dep, deps) - parts.unite(QSet<ProjectPart::Ptr>::fromList(d->m_fileToProjectParts.value(dep))); + + { + QMutexLocker locker(&d->m_projectMutex); + foreach (const QString &dep, deps) + parts.unite(QSet<ProjectPart::Ptr>::fromList(d->m_fileToProjectParts.value(dep))); + } return parts.values(); } |