From a181c3e4d7edf40b386ee290cec0684b628310df Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 19 Oct 2017 13:46:45 +0200 Subject: [PATCH] QbsProjectManager: Fix detaching of Qt containers in for loops Found by clazy. Change-Id: I9ccca922f6aa8b6a8f1c16c6e62db8dae3c4cc6f Reviewed-by: Jake Petroules Reviewed-by: Christian Kandeler --- src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp | 3 ++- src/plugins/qbsprojectmanager/qbsproject.cpp | 3 ++- src/plugins/qbsprojectmanager/qbsprojectimporter.cpp | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp b/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp index bc3731f625d..e82a3381943 100644 --- a/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp +++ b/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp @@ -217,7 +217,8 @@ QbsRootProjectNode *QbsNodeTreeBuilder::buildTree(QbsProject *project) QCoreApplication::translate("QbsRootProjectNode", "Qbs files")); Utils::FileName base = project->projectDirectory(); - for (const QString &f : unreferencedBuildSystemFiles(project->qbsProject())) { + const QStringList &files = unreferencedBuildSystemFiles(project->qbsProject()); + for (const QString &f : files) { const Utils::FileName filePath = Utils::FileName::fromString(f); if (filePath.isChildOf(base)) buildSystemFiles->addNestedNode(new ProjectExplorer::FileNode(filePath, ProjectExplorer::FileType::Project, false)); diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index eb3191e60e3..ed699a9f2bf 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -701,7 +701,8 @@ void QbsProject::configureAsExampleProject(const QSet &platforms) = IBuildConfigurationFactory::find(k, projectFilePath().toString()); if (!factory) continue; - for (BuildInfo * const info : factory->availableSetups(k, projectFilePath().toString())) + const auto &buildInfos = factory->availableSetups(k, projectFilePath().toString()); + for (BuildInfo * const info : buildInfos) infoList << info; } setup(infoList); diff --git a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp index 8c038f20a9a..f483000395e 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp +++ b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp @@ -106,7 +106,8 @@ static bool hasBuildGraph(const QString &dir) static QStringList candidatesForDirectory(const QString &dir) { QStringList candidates; - for (const QString &subDir : QDir(dir).entryList(QDir::Dirs | QDir::NoDotAndDotDot)) { + const QStringList &subDirs = QDir(dir).entryList(QDir::Dirs | QDir::NoDotAndDotDot); + for (const QString &subDir : subDirs) { const QString absSubDir = dir + QLatin1Char('/') + subDir; if (hasBuildGraph(absSubDir)) candidates << absSubDir; @@ -121,7 +122,8 @@ QStringList QbsProjectImporter::importCandidates() QSet seenCandidates; seenCandidates.insert(projectDir); - for (Kit * const k : KitManager::kits()) { + const auto &kits = KitManager::kits(); + for (Kit * const k : kits) { QFileInfo fi(buildDir(projectFilePath().toString(), k)); const QString candidate = fi.absolutePath(); if (!seenCandidates.contains(candidate)) {