From 6e6e756d01f7992386e96ca7d0731f041ef9c835 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Thu, 23 Feb 2012 13:58:34 +0100 Subject: [PATCH] C++: fixed source-to-project-part map calculation When the information for a project is updated, the mapping was cleared and only recalculated for the new project info. Thereby wiping out the info for any previously added project. Change-Id: Ic6999b9be07f8cb6b4638723e6c8c7d2d3ca52e7 Reviewed-by: Erik Verbruggen --- src/plugins/cpptools/cppmodelmanager.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index da0a78e0b78..d60a759f4e7 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -934,11 +934,10 @@ void CppModelManager::updateProjectInfo(const ProjectInfo &pinfo) m_srcToProjectPart.clear(); - foreach (const ProjectPart::Ptr &projectPart, pinfo.projectParts()) { - foreach (const QString &sourceFile, projectPart->sourceFiles) { - m_srcToProjectPart[sourceFile].append(projectPart); - } - } + foreach (const ProjectInfo &projectInfo, m_projects.values()) + foreach (const ProjectPart::Ptr &projectPart, projectInfo.projectParts()) + foreach (const QString &sourceFile, projectPart->sourceFiles) + m_srcToProjectPart[sourceFile].append(projectPart); } QList CppModelManager::projectPart(const QString &fileName) const