[Bf-blender-cvs] [adb21faa83d] master: Fix T70286: Dissolve vertices/edges creates duplicate face

Campbell Barton noreply at git.blender.org
Thu Apr 15 06:22:13 CEST 2021


Commit: adb21faa83d69069418d7bb14e0211261072f3a9
Author: Campbell Barton
Date:   Thu Apr 15 14:20:21 2021 +1000
Branches: master
https://developer.blender.org/rBadb21faa83d69069418d7bb14e0211261072f3a9

Fix T70286: Dissolve vertices/edges creates duplicate face

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

M	source/blender/bmesh/operators/bmo_dissolve.c

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

diff --git a/source/blender/bmesh/operators/bmo_dissolve.c b/source/blender/bmesh/operators/bmo_dissolve.c
index 6723c0f7cb0..eb684671cfb 100644
--- a/source/blender/bmesh/operators/bmo_dissolve.c
+++ b/source/blender/bmesh/operators/bmo_dissolve.c
@@ -327,6 +327,10 @@ void bmo_dissolve_edges_exec(BMesh *bm, BMOperator *op)
 
       /* join faces */
       f_new = BM_faces_join_pair(bm, l_a, l_b, false);
+      if (BM_face_find_double(f_new)) {
+        BM_face_kill(bm, f_new);
+        f_new = NULL;
+      }
 
       if (f_new) {
         /* maintain active face */
@@ -441,6 +445,10 @@ void bmo_dissolve_verts_exec(BMesh *bm, BMOperator *op)
 
           /* join faces */
           f_new = BM_faces_join_pair(bm, l_a, l_b, false);
+          if (BM_face_find_double(f_new)) {
+            BM_face_kill(bm, f_new);
+            f_new = NULL;
+          }
 
           /* maintain active face */
           if (act_face && bm->act_face == NULL) {



More information about the Bf-blender-cvs mailing list