Fix #32341: extrude with a mirror modifier could lead to orphan vertices, it

was already removing unnecessary edges, just not vertices of those edges.
This commit is contained in:
Brecht Van Lommel
2012-08-21 14:38:03 +00:00
parent 63e6fbfbd4
commit 809fce9d00

View File

@@ -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;
}