diff options
-rw-r--r-- | source/blender/bmesh/operators/bmo_extrude.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/bmesh/operators/bmo_extrude.c b/source/blender/bmesh/operators/bmo_extrude.c index 7b59a4a9101..9ea8e631435 100644 --- a/source/blender/bmesh/operators/bmo_extrude.c +++ b/source/blender/bmesh/operators/bmo_extrude.c @@ -380,10 +380,18 @@ void bmo_extrude_face_region_exec(BMesh *bm, BMOperator *op) /* this should always be wire, so this is mainly a speedup to avoid map lookup */ if (BM_edge_is_wire(e) && BMO_slot_map_contains(bm, op, "exclude", e)) { + BMVert *v1 = e->v1, *v2 = e->v2; + /* The original edge was excluded, * this would result in a standalone wire edge - see [#30399] */ BM_edge_kill(bm, e); + /* kill standalone vertices from this edge - see [#32341] */ + if (!v1->e) + BM_vert_kill(bm, v1); + if (!v2->e) + BM_vert_kill(bm, v1); + continue; } |