Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/boolop')
-rw-r--r--intern/boolop/intern/BOP_Triangulator.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/intern/boolop/intern/BOP_Triangulator.cpp b/intern/boolop/intern/BOP_Triangulator.cpp
index 0ac637ee28d..ad23e69d8c0 100644
--- a/intern/boolop/intern/BOP_Triangulator.cpp
+++ b/intern/boolop/intern/BOP_Triangulator.cpp
@@ -400,10 +400,14 @@ void BOP_addFace(BOP_Mesh* mesh, BOP_Faces* faces, BOP_Face* face, BOP_TAG tag)
/*
* Before adding a new face to the face list, be sure it's not
* already there. Duplicate faces have been found to cause at
- * least two instances of infinite loops.
+ * least two instances of infinite loops. Also, some faces are
+ * created which have the same vertex twice. Don't add these either.
+ *
* When someone has more time to look into this issue, it's possible
* this code may be removed again.
*/
+ if( av1==av2 || av2==av3 || av3==av1 ) return;
+
for(unsigned int idxFace=0;idxFace<faces->size();idxFace++) {
BOP_Face *faceA = (*faces)[idxFace];
BOP_Index bv1 = faceA->getVertex(0);