From c7e60546018ffbe75363a803e29884ab4ad545fb Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 24 Nov 2016 10:10:56 +0100 Subject: [PATCH] QbsProjectManager: Fix potential crash Iterators 101: Make sure begin() and end() are called on the same object. Task-number: QTCREATORBUG-17339 Change-Id: Id757918e20a0a5017dc2135757f96f446abe0f48 Reviewed-by: Nikolai Kosjar --- src/plugins/qbsprojectmanager/qbsproject.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 6c03b8a6905..f037f04814b 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -901,11 +901,11 @@ void QbsProject::updateCppCodeModel() else if (a.fileTags().contains("objcpp_pch_src")) objcxxPch = a.filePath(); }; - std::for_each(prd.generatedArtifacts().cbegin(), prd.generatedArtifacts().cend(), - pchFinder); + const QList &generatedArtifacts = prd.generatedArtifacts(); + std::for_each(generatedArtifacts.cbegin(), generatedArtifacts.cend(), pchFinder); foreach (const qbs::GroupData &grp, prd.groups()) { - std::for_each(grp.allSourceArtifacts().cbegin(), grp.allSourceArtifacts().cend(), - pchFinder); + const QList &sourceArtifacts = grp.allSourceArtifacts(); + std::for_each(sourceArtifacts.cbegin(), sourceArtifacts.cend(), pchFinder); } foreach (const qbs::GroupData &grp, prd.groups()) {