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 <nikolai.kosjar@qt.io>
This commit is contained in:
Christian Kandeler
2016-11-24 10:10:56 +01:00
parent f67b8405a9
commit c7e6054601

View File

@@ -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<qbs::ArtifactData> &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<qbs::ArtifactData> &sourceArtifacts = grp.allSourceArtifacts();
std::for_each(sourceArtifacts.cbegin(), sourceArtifacts.cend(), pchFinder);
}
foreach (const qbs::GroupData &grp, prd.groups()) {