diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-04-22 09:30:34 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-04-22 09:30:34 +0400 |
commit | 3508bf1b832b25dcd1401444ae47ac53680a4bff (patch) | |
tree | 1a84beed63e1092d0da35e9388bbe79398ebf72a /source/blender/editors/mesh | |
parent | 2912314838030aa6c76e887737b18e3eb203ba54 (diff) |
Ctrl+RMB to select an object in editmode didnt work in edge mode (which is not great usability imho and confusing),
now pass through if no edges can be tagged and select the object.
Diffstat (limited to 'source/blender/editors/mesh')
-rw-r--r-- | source/blender/editors/mesh/editmesh_select.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c index 50dcaff6a97..6c3984f0979 100644 --- a/source/blender/editors/mesh/editmesh_select.c +++ b/source/blender/editors/mesh/editmesh_select.c @@ -1339,7 +1339,7 @@ static int edgetag_shortest_path(Scene *scene, BMEditMesh *em, BMEdge *source, B /* ******************* mesh shortest path select, uses prev-selected edge ****************** */ /* since you want to create paths with multiple selects, it doesn't have extend option */ -static void mouse_mesh_shortest_path(bContext *C, int mval[2]) +static int mouse_mesh_shortest_path(bContext *C, int mval[2]) { ViewContext vc; BMEditMesh *em; @@ -1402,6 +1402,11 @@ static void mouse_mesh_shortest_path(bContext *C, int mval[2]) } EDBM_update_generic(C, em, FALSE); + + return TRUE; + } + else { + return FALSE; } } @@ -1411,9 +1416,12 @@ static int edbm_shortest_path_select_invoke(bContext *C, wmOperator *UNUSED(op), view3d_operator_needs_opengl(C); - mouse_mesh_shortest_path(C, event->mval); - - return OPERATOR_FINISHED; + if (mouse_mesh_shortest_path(C, event->mval)) { + return OPERATOR_FINISHED; + } + else { + return OPERATOR_PASS_THROUGH; + } } static int edbm_shortest_path_select_poll(bContext *C) |