diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-08-13 18:40:44 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-08-13 18:48:36 +0300 |
commit | bc675d90d0a17bbd5e52b2549c4e504366052c22 (patch) | |
tree | 8f88b7b56e5ace1c79b8435355accbb621519d43 /source/blender/editors/mesh/editmesh_path.c | |
parent | 887d6cb1ee45a3338558021d2afeb2f9b1a102ff (diff) |
Fix T55745: Pick Shortest Path tool, inconsistent selection.
To get consistent, user-expected results here, we need to 'fake'
starting immediately after a 'skip' block (such that we start with a
full block of selected elements).
Same issue affected vertices and edges selection of course, did not
check the other usages of WM_operator_properties_checker_interval_test()
though.
Diffstat (limited to 'source/blender/editors/mesh/editmesh_path.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_path.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/mesh/editmesh_path.c b/source/blender/editors/mesh/editmesh_path.c index bf5a7e3a053..eccc15bf83f 100644 --- a/source/blender/editors/mesh/editmesh_path.c +++ b/source/blender/editors/mesh/editmesh_path.c @@ -176,7 +176,8 @@ static void mouse_mesh_shortest_path_vert( } } while ((node = node->next)); - int depth = 1; + /* We need to start as if just *after* a 'skip' block... */ + int depth = op_params->interval_params.skip; node = path; do { if ((is_path_ordered == false) || @@ -366,7 +367,8 @@ static void mouse_mesh_shortest_path_edge( } } while ((node = node->next)); - int depth = 1; + /* We need to start as if just *after* a 'skip' block... */ + int depth = op_params->interval_params.skip; node = path; do { if ((is_path_ordered == false) || @@ -511,7 +513,8 @@ static void mouse_mesh_shortest_path_face( } } while ((node = node->next)); - int depth = 1; + /* We need to start as if just *after* a 'skip' block... */ + int depth = op_params->interval_params.skip; node = path; do { if ((is_path_ordered == false) || |