[Bf-blender-cvs] [f7d216c1b60] master: Fix T59074: BMesh intersect hangs

Campbell Barton noreply at git.blender.org
Thu Dec 20 07:52:58 CET 2018


Commit: f7d216c1b6061260ffba4fc63a2ff45f212d213f
Author: Campbell Barton
Date:   Thu Dec 20 17:50:36 2018 +1100
Branches: master
https://developer.blender.org/rBf7d216c1b6061260ffba4fc63a2ff45f212d213f

Fix T59074: BMesh intersect hangs

This is a degenerate intersection, exit early instead of hanging.

===================================================================

M	source/blender/bmesh/intern/bmesh_polygon_edgenet.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_polygon_edgenet.c b/source/blender/bmesh/intern/bmesh_polygon_edgenet.c
index 4703dbf3bcd..53874e4ed96 100644
--- a/source/blender/bmesh/intern/bmesh_polygon_edgenet.c
+++ b/source/blender/bmesh/intern/bmesh_polygon_edgenet.c
@@ -1162,7 +1162,16 @@ static BMVert *bm_face_split_edgenet_partial_connect(BMesh *bm, BMVert *v_delimi
 		BM_elem_flag_enable(v_split, VERT_NOT_IN_STACK);
 
 		BLI_assert(v_delimit->e != NULL);
+
+		/* Degenerate, avoid eternal loop, see: T59074. */
+#if 0
 		BLI_assert(v_split->e != NULL);
+#else
+		if (UNLIKELY(v_split->e == NULL)) {
+			BM_vert_kill(bm, v_split);
+			v_split = NULL;
+		}
+#endif
 	}
 
 	/* Restore flags */



More information about the Bf-blender-cvs mailing list