diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index ca3283ece27..be1fc9e2585 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -710,13 +711,11 @@ void CppModelManager::removeFilesFromSnapshot(const QSet &filesToRemove d->m_snapshot.remove(i.next()); } -static QStringList projectPartIds(const QSet &projectParts) +static QSet projectPartIds(const QSet &projectParts) { - QStringList result; - QSetIterator it(projectParts); - while (it.hasNext()) - result << it.next()->id(); - return result; + return Utils::transform(projectParts, [](const ProjectPart::Ptr &projectPart) { + return projectPart->id(); + }); } class ProjectInfoComparer @@ -750,9 +749,9 @@ public: QStringList removedProjectParts() { - QSet removed = m_old.projectParts().toSet(); - removed.subtract(m_new.projectParts().toSet()); - return projectPartIds(removed); + QSet removed = projectPartIds(m_old.projectParts().toSet()); + removed.subtract(projectPartIds(m_new.projectParts().toSet())); + return removed.toList(); } /// Returns a list of common files that have a changed timestamp.