From a42ff26d4a494a49f8b67d82fa68988eb71c67c2 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 2 Sep 2022 15:52:47 +0200 Subject: [PATCH] CppEditor: Do not get confused by aliased files ... when looking up a source file's project part. This prevents misleading "This file is not part of any project" messages. Task-number: QTCREATORBUG-27869 Task-number: QTCREATORBUG-28031 Change-Id: Ia9a25af24ddf3f2ab8474deb7b2c5a8d64eb47ea Reviewed-by: David Schulz --- src/plugins/cppeditor/cppmodelmanager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/cppeditor/cppmodelmanager.cpp b/src/plugins/cppeditor/cppmodelmanager.cpp index eb7d618fd21..94f292a6be9 100644 --- a/src/plugins/cppeditor/cppmodelmanager.cpp +++ b/src/plugins/cppeditor/cppmodelmanager.cpp @@ -1066,7 +1066,7 @@ void CppModelManager::recalculateProjectPartMappings() for (const ProjectPart::ConstPtr &projectPart : projectData.projectInfo->projectParts()) { d->m_projectPartIdToProjectProjectPart[projectPart->id()] = projectPart; for (const ProjectFile &cxxFile : projectPart->files) - d->m_fileToProjectParts[Utils::FilePath::fromString(cxxFile.path)].append( + d->m_fileToProjectParts[Utils::FilePath::fromString(cxxFile.path).canonicalPath()].append( projectPart); } } @@ -1242,7 +1242,7 @@ ProjectPart::ConstPtr CppModelManager::projectPartForId(const QString &projectPa QList CppModelManager::projectPart(const Utils::FilePath &fileName) const { QReadLocker locker(&d->m_projectLock); - return d->m_fileToProjectParts.value(fileName); + return d->m_fileToProjectParts.value(fileName.canonicalPath()); } QList CppModelManager::projectPartFromDependencies( @@ -1253,7 +1253,7 @@ QList CppModelManager::projectPartFromDependencies( QReadLocker locker(&d->m_projectLock); for (const Utils::FilePath &dep : deps) - parts.unite(Utils::toSet(d->m_fileToProjectParts.value(dep))); + parts.unite(Utils::toSet(d->m_fileToProjectParts.value(dep.canonicalPath()))); return parts.values(); }