From 809fce9d00ecf8eea2c3d2ea52c3de2ec2ede1ee Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 21 Aug 2012 14:38:03 +0000 Subject: Fix #32341: extrude with a mirror modifier could lead to orphan vertices, it was already removing unnecessary edges, just not vertices of those edges. --- source/blender/bmesh/operators/bmo_extrude.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source/blender/bmesh') 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; } -- cgit v1.2.3