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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-08-21 18:38:03 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-08-21 18:38:03 +0400
commit809fce9d00ecf8eea2c3d2ea52c3de2ec2ede1ee (patch)
treeeb1926ecc661e9cda7acc647f37f465e9d5f0a30 /source/blender/bmesh
parent63e6fbfbd4b598f79522b98b11ee33dbfd8d041d (diff)
Fix #32341: extrude with a mirror modifier could lead to orphan vertices, it
was already removing unnecessary edges, just not vertices of those edges.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/operators/bmo_extrude.c8
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;
}