From b8589b03ea7fdf681f8c7688dfc65fc450765cd6 Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Thu, 20 Mar 2025 22:22:16 -0500 Subject: [PATCH] Part: Remove inefficient vector reserve() Coverity issue 356645 --- src/Mod/Part/App/modelRefine.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Mod/Part/App/modelRefine.cpp b/src/Mod/Part/App/modelRefine.cpp index e755922daf..ebf58c6c27 100644 --- a/src/Mod/Part/App/modelRefine.cpp +++ b/src/Mod/Part/App/modelRefine.cpp @@ -1071,8 +1071,13 @@ bool FaceUniter::process() checkFinalShell = true; } facesToSew.push_back(newFace); - if (facesToRemove.capacity() <= facesToRemove.size() + adjacencySplitter.getGroup(adjacentIndex).size()) - facesToRemove.reserve(facesToRemove.size() + adjacencySplitter.getGroup(adjacentIndex).size()); + + // This reserve is probably not actually an improvement over letting + // emplace_back allocate as needed. Leaving the code here for study if someone + // wants to measure it. Coverity issue 356645. - chennes, March 2025 + //if (facesToRemove.capacity() <= facesToRemove.size() + adjacencySplitter.getGroup(adjacentIndex).size()) + // facesToRemove.reserve(facesToRemove.size() + adjacencySplitter.getGroup(adjacentIndex).size()); + FaceVectorType temp = adjacencySplitter.getGroup(adjacentIndex); facesToRemove.insert(facesToRemove.end(), temp.begin(), temp.end()); // the first shape will be marked as modified, i.e. replaced by newFace, all others are marked as deleted