From 4c0439a559a07fdd319774329b3a3d0240ad9fdf Mon Sep 17 00:00:00 2001 From: Birger Brekke Date: Thu, 29 Aug 2019 13:04:20 +0200 Subject: [PATCH] Fix infinite loop bug in mergeFacesAndHoles When an element in `containing_faces` has size greater than 1 the `while (unassigned)` loop will never stop. --- lib/intersect_face_division.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/intersect_face_division.cpp b/lib/intersect_face_division.cpp index ca87ebb..e068ba7 100644 --- a/lib/intersect_face_division.cpp +++ b/lib/intersect_face_division.cpp @@ -726,7 +726,7 @@ static void mergeFacesAndHoles( std::set removed; for (unsigned i = 0; i < containing_faces.size(); ++i) { - if (containing_faces[i].size() == 1) { + if (!containing_faces[i].empty()) { int f = containing_faces[i][0]; face_holes[f].push_back(i); #if defined(CARVE_DEBUG)