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>
This commit is contained in:
Nikolai Kosjar
2014-10-06 15:18:26 +02:00
parent 390b4f0e0b
commit 756fba0dfb

View File

@@ -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();
}