From 756fba0dfbb4e5ad9fae07ba24d903cb986cec99 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar <nikolai.kosjar@digia.com> Date: Mon, 6 Oct 2014 15:18:26 +0200 Subject: [PATCH] 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> --- src/plugins/cpptools/cppmodelmanager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index d67fab8bd53..a33e595a72b 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(); } -- GitLab