diff options
author | Yevgeny Makarov <jenkm> | 2019-09-04 15:46:24 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-09-04 15:51:48 +0300 |
commit | 0381727663ec405916565f0f5f677bdb7e6ac510 (patch) | |
tree | 44f7eb92a50fd0bf5653a54e3adfefd69fe08cc5 /source/blender/editors | |
parent | 4d995527a9a13053ae910c5aad661b00e6a9498b (diff) |
Fix T55745: Checker de-select, inconsistent selection
With these changes, successive selections result in an even pattern.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/curve/editcurve_select.c | 4 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_path.c | 9 | ||||
-rw-r--r-- | source/blender/editors/mesh/editmesh_select.c | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/source/blender/editors/curve/editcurve_select.c b/source/blender/editors/curve/editcurve_select.c index f67ccf1e4bd..d0abcf32107 100644 --- a/source/blender/editors/curve/editcurve_select.c +++ b/source/blender/editors/curve/editcurve_select.c @@ -1311,7 +1311,7 @@ static void select_nth_bezt(Nurb *nu, BezTriple *bezt, const struct CheckerInter while (a--) { const int depth = abs(start - a); - if (WM_operator_properties_checker_interval_test(params, depth)) { + if (!WM_operator_properties_checker_interval_test(params, depth)) { select_beztriple(bezt, DESELECT, SELECT, HIDDEN); } @@ -1334,7 +1334,7 @@ static void select_nth_bp(Nurb *nu, BPoint *bp, const struct CheckerIntervalPara while (a--) { const int depth = abs(pnt - startpnt) + abs(row - startrow); - if (WM_operator_properties_checker_interval_test(params, depth)) { + if (!WM_operator_properties_checker_interval_test(params, depth)) { select_bpoint(bp, DESELECT, SELECT, HIDDEN); } diff --git a/source/blender/editors/mesh/editmesh_path.c b/source/blender/editors/mesh/editmesh_path.c index 6fd0ee83b6c..06c41b78c37 100644 --- a/source/blender/editors/mesh/editmesh_path.c +++ b/source/blender/editors/mesh/editmesh_path.c @@ -239,8 +239,7 @@ static void mouse_mesh_shortest_path_vert(Scene *UNUSED(scene), } } while ((node = node->next)); - /* We need to start as if just *after* a 'skip' block... */ - int depth = op_params->interval_params.skip; + int depth = -1; node = path; do { if ((is_path_ordered == false) || @@ -430,8 +429,7 @@ static void mouse_mesh_shortest_path_edge(Scene *scene, } } while ((node = node->next)); - /* We need to start as if just *after* a 'skip' block... */ - int depth = op_params->interval_params.skip; + int depth = -1; node = path; do { if ((is_path_ordered == false) || @@ -561,8 +559,7 @@ static void mouse_mesh_shortest_path_face(Scene *UNUSED(scene), } } while ((node = node->next)); - /* We need to start as if just *after* a 'skip' block... */ - int depth = op_params->interval_params.skip; + int depth = -1; node = path; do { if ((is_path_ordered == false) || diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c index c0bd9e9f14c..53b4efbd968 100644 --- a/source/blender/editors/mesh/editmesh_select.c +++ b/source/blender/editors/mesh/editmesh_select.c @@ -3734,7 +3734,7 @@ static void walker_deselect_nth(BMEditMesh *em, if (!BM_elem_flag_test(ele, BM_ELEM_TAG)) { /* Deselect elements that aren't at "nth" depth from active */ const int depth = BMW_current_depth(&walker) - 1; - if (WM_operator_properties_checker_interval_test(op_params, depth)) { + if (!WM_operator_properties_checker_interval_test(op_params, depth)) { BM_elem_select_set(bm, ele, false); } BM_elem_flag_enable(ele, BM_ELEM_TAG); |