summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@digia.com>2014-10-06 15:18:26 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2014-10-15 10:09:26 +0200
commit756fba0dfbb4e5ad9fae07ba24d903cb986cec99 (patch)
tree7d1e30e23cf0c77b4ec9c8de8f17d61f60580be0 /src/plugins/cpptools/cppmodelmanager.cpp
parent390b4f0e0b544c713fbac4369131fa9b80d60b1a (diff)
downloadqt-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.cpp8
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();
}