[Bf-blender-cvs] [d428cca1242] blender-v2.83-release: Fix T63787: Knife intersect crashes

Campbell Barton noreply at git.blender.org
Fri Apr 24 04:21:34 CEST 2020


Commit: d428cca124264cdb6e68d0676c74d80c7a303a7a
Author: Campbell Barton
Date:   Fri Apr 24 12:03:40 2020 +1000
Branches: blender-v2.83-release
https://developer.blender.org/rBd428cca124264cdb6e68d0676c74d80c7a303a7a

Fix T63787: Knife intersect crashes

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

M	source/blender/bmesh/tools/bmesh_intersect.c

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

diff --git a/source/blender/bmesh/tools/bmesh_intersect.c b/source/blender/bmesh/tools/bmesh_intersect.c
index ecd39ca714e..db07fd9842b 100644
--- a/source/blender/bmesh/tools/bmesh_intersect.c
+++ b/source/blender/bmesh/tools/bmesh_intersect.c
@@ -1258,6 +1258,13 @@ bool BM_mesh_intersect(BMesh *bm,
         continue;
       }
 
+      /* It's possible the vertex to dissolve is an edge on an existing face
+       * that doesn't divide the face, therefor the edges are not wire
+       * and shouldn't be handled here, see: T63787. */
+      if (!BLI_gset_haskey(s.wire_edges, e_pair[0]) || !BLI_gset_haskey(s.wire_edges, e_pair[1])) {
+        continue;
+      }
+
       v_a = BM_edge_other_vert(e_pair[0], v);
       v_b = BM_edge_other_vert(e_pair[1], v);



More information about the Bf-blender-cvs mailing list