diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-03-28 09:20:48 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-03-28 09:20:48 +0400 |
commit | 52984c2772a779b1054a9034a33f2d2a59aa5d61 (patch) | |
tree | 7df6964ab72c274bfe3733e165db13c42079ee46 /source | |
parent | 711d7539e01be7c56d5ae96d9f5491528d38b5b9 (diff) |
fix [#30701] bmesh: segfault when ripping partially connected vertices
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/bmesh/operators/bmo_edgesplit.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/bmesh/operators/bmo_edgesplit.c b/source/blender/bmesh/operators/bmo_edgesplit.c index cf051006145..549f773a250 100644 --- a/source/blender/bmesh/operators/bmo_edgesplit.c +++ b/source/blender/bmesh/operators/bmo_edgesplit.c @@ -62,7 +62,10 @@ static void bm_edgesplit_validate_seams(BMesh *bm, BMOperator *op) * only place we loop over all edges, disable tag */ BM_elem_flag_disable(e, BM_ELEM_INTERNAL_TAG); - if (BM_edge_is_boundary(e)) { + if (e->l == NULL) { + BMO_elem_flag_disable(bm, e, EDGE_SEAM); + } + else if (BM_edge_is_boundary(e)) { vt = &vtouch[BM_elem_index_get(e->v1)]; if (*vt < 2) (*vt)++; vt = &vtouch[BM_elem_index_get(e->v2)]; if (*vt < 2) (*vt)++; |