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:
authorCampbell Barton <ideasman42@gmail.com>2021-04-15 07:20:21 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-04-15 07:20:21 +0300
commitadb21faa83d69069418d7bb14e0211261072f3a9 (patch)
tree7674e4e16b89c79d590449c40de43261c76ff8fe /source/blender/bmesh
parent2cc3a89cf60db1c480920e94abd9ec56e0d1cd83 (diff)
Fix T70286: Dissolve vertices/edges creates duplicate face
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/operators/bmo_dissolve.c8
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) {