diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-07-27 09:57:20 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-07-27 09:57:20 +0400 |
commit | a0969adb4eb530654051e2240a990b350ae2323d (patch) | |
tree | 7e38c0495e6b35fb70aa86a92dc79eb21d6304df /source/blender/editors/mesh/editmesh_tools.c | |
parent | 91fc92794c4d36c1d095ac6d0f9a5a4d3bdf66e8 (diff) |
fix for bridge tool selection flushing (after recent api change), also exposed bug in bmesh edgering-subdiv operator.
Diffstat (limited to 'source/blender/editors/mesh/editmesh_tools.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_tools.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index 185ff1a74d5..3edf25d91bc 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -4034,14 +4034,23 @@ static int edbm_bridge_edge_loops_exec(bContext *C, wmOperator *op) mesh_operator_edgering_props_get(op, &op_props); if (op_props.cuts) { + BMOperator bmop_subd; /* we only need face normals updated */ EDBM_mesh_normals_update(em); - BMO_op_callf(em->bm, BMO_FLAG_DEFAULTS, - "subdivide_edgering edges=%S interp_mode=%i cuts=%i smooth=%f " - "profile_shape=%i profile_shape_factor=%f", - &bmop, "edges.out", op_props.interp_mode, op_props.cuts, op_props.smooth, - op_props.profile_shape, op_props.profile_shape_factor); + BMO_op_initf( + em->bm, &bmop_subd, op->flag, + "subdivide_edgering edges=%S interp_mode=%i cuts=%i smooth=%f " + "profile_shape=%i profile_shape_factor=%f", + &bmop, "edges.out", op_props.interp_mode, op_props.cuts, op_props.smooth, + op_props.profile_shape, op_props.profile_shape_factor + ); + BMO_op_exec(em->bm, &bmop_subd); + + BMO_slot_buffer_hflag_enable(em->bm, bmop_subd.slots_out, "faces.out", BM_FACE, BM_ELEM_SELECT, true); + + BMO_op_finish(em->bm, &bmop_subd); + } } } |