diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-04-15 07:20:21 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-04-15 07:20:21 +0300 |
commit | adb21faa83d69069418d7bb14e0211261072f3a9 (patch) | |
tree | 7674e4e16b89c79d590449c40de43261c76ff8fe /source/blender/bmesh/operators | |
parent | 2cc3a89cf60db1c480920e94abd9ec56e0d1cd83 (diff) |
Fix T70286: Dissolve vertices/edges creates duplicate face
Diffstat (limited to 'source/blender/bmesh/operators')
-rw-r--r-- | source/blender/bmesh/operators/bmo_dissolve.c | 8 |
1 files changed, 8 insertions, 0 deletions
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) { |