forked from bartvdbraak/blender
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.
This commit is contained in:
parent
217dbfeba5
commit
94379277dd
4
extern/carve/lib/intersect_face_division.cpp
vendored
4
extern/carve/lib/intersect_face_division.cpp
vendored
@ -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(),
|
||||
|
14
extern/carve/patches/face_hole_merge_workaround.patch
vendored
Normal file
14
extern/carve/patches/face_hole_merge_workaround.patch
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
diff -r e82d852e4fb0 lib/intersect_face_division.cpp
|
||||
--- a/lib/intersect_face_division.cpp Wed Jan 15 13:16:14 2014 +1100
|
||||
+++ b/lib/intersect_face_division.cpp Thu Mar 13 15:39:26 2014 +0600
|
||||
@@ -719,6 +719,10 @@
|
||||
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(),
|
1
extern/carve/patches/series
vendored
1
extern/carve/patches/series
vendored
@ -9,3 +9,4 @@ interpolator_reorder.patch
|
||||
mesh_simplify_dissolve_edges.patch
|
||||
memory_leak_fix.patch
|
||||
mavc_fix.patch
|
||||
face_hole_merge_workaround.patch
|
||||
|
Loading…
Reference in New Issue
Block a user