diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-03-13 13:40:55 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-03-13 13:40:55 +0400 |
commit | 94379277dd25a3300e54f89b8c7ef52b9a63f82f (patch) | |
tree | 913ea97d1bdbb5714bea3f68c014081577baccf2 /extern/carve/lib/intersect_face_division.cpp | |
parent | 217dbfeba52ff7a3628290a6fcb9623aa9ff01cf (diff) |
Fix T39151: Boolean modifier freeze
This re-applied patch from 25cbd13 which was lost at some point
since missing patchset in series.
This revision is to be back-ported to the final release.
Diffstat (limited to 'extern/carve/lib/intersect_face_division.cpp')
-rw-r--r-- | extern/carve/lib/intersect_face_division.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/extern/carve/lib/intersect_face_division.cpp b/extern/carve/lib/intersect_face_division.cpp index e826948128c..0016724e16c 100644 --- a/extern/carve/lib/intersect_face_division.cpp +++ b/extern/carve/lib/intersect_face_division.cpp @@ -719,6 +719,10 @@ namespace { unassigned--; } } + + if (!removed.size()) + throw carve::exception("Failed to merge holes"); + for (std::set<int>::iterator f = removed.begin(); f != removed.end(); ++f) { for (unsigned i = 0; i < containing_faces.size(); ++i) { containing_faces[i].erase(std::remove(containing_faces[i].begin(), |