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:
authorCampbell Barton <ideasman42@gmail.com>2012-04-22 09:30:34 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-04-22 09:30:34 +0400
commit3508bf1b832b25dcd1401444ae47ac53680a4bff (patch)
tree1a84beed63e1092d0da35e9388bbe79398ebf72a /source/blender/editors/mesh
parent2912314838030aa6c76e887737b18e3eb203ba54 (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.c16
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)