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:
authorBastien Montagne <montagne29@wanadoo.fr>2018-08-13 18:40:44 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-08-13 18:48:36 +0300
commitbc675d90d0a17bbd5e52b2549c4e504366052c22 (patch)
tree8f88b7b56e5ace1c79b8435355accbb621519d43 /source/blender/editors/mesh/editmesh_path.c
parent887d6cb1ee45a3338558021d2afeb2f9b1a102ff (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.c9
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) ||