diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-04-19 20:57:50 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-04-19 20:57:50 +0400 |
commit | a82eaf36ca44f18f97db11007e3accc21acbee4e (patch) | |
tree | 0c5f76b62027bdb008030d06c501531fab55c2d9 /source/blender/editors/mesh/editmesh_select.c | |
parent | bea1a127511ff7659dcff7a30f2af46fc8a29304 (diff) |
bmesh rip: when there are selected faces call region_to_loop before ripping. gives better results then previous fix when there are selected faces as apart of an edge selection.
Diffstat (limited to 'source/blender/editors/mesh/editmesh_select.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_select.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c index d6aa3f48b85..c20c3e50e67 100644 --- a/source/blender/editors/mesh/editmesh_select.c +++ b/source/blender/editors/mesh/editmesh_select.c @@ -2518,13 +2518,8 @@ static int edbm_region_to_loop_exec(bContext *C, wmOperator *UNUSED(op)) BMFace *f; BMEdge *e; BMIter iter; - ViewContext vc; - - em_setup_viewcontext(C, &vc); - - BM_ITER_MESH (e, &iter, em->bm, BM_EDGES_OF_MESH) { - BM_elem_flag_disable(e, BM_ELEM_TAG); - } + + BM_mesh_elem_hflag_disable_all(em->bm, BM_EDGE, BM_ELEM_TAG, FALSE); BM_ITER_MESH (f, &iter, em->bm, BM_FACES_OF_MESH) { BMLoop *l1, *l2; @@ -2546,8 +2541,9 @@ static int edbm_region_to_loop_exec(bContext *C, wmOperator *UNUSED(op)) EDBM_flag_disable_all(em, BM_ELEM_SELECT); BM_ITER_MESH (e, &iter, em->bm, BM_EDGES_OF_MESH) { - if (BM_elem_flag_test(e, BM_ELEM_TAG) && !BM_elem_flag_test(e, BM_ELEM_HIDDEN)) + if (BM_elem_flag_test(e, BM_ELEM_TAG)) { BM_edge_select_set(em->bm, e, TRUE); + } } /* If in face-only select mode, switch to edge select mode so that |