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:
authorFalk David <falkdavid@gmx.de>2021-04-28 17:20:09 +0300
committerFalk David <falkdavid@gmx.de>2021-04-28 17:28:23 +0300
commite0fa295bc6f2f99f5679a4d423818d83c67628a2 (patch)
tree18fd5d55c72c9ea77fc50c3eef018ab7924806a3 /source/blender/editors/transform/transform_convert_gpencil.c
parentc4bebc03e0e7af0b6fe31c9751b81635645bd547 (diff)
Fix T86881: Curve Edit handle offset when snapping
When an aligned (or auto) handle was snapped with only the control point selected, it would not snap to the correct point, but offset. This was because the handles were not considered selected. The `TD_SELECTED` flag was not being set. The fix makes sure that we include the handles in the selection when the handle is aligned or auto. Reviewed By: antoniov Maniphest Tasks: T86881 Differential Revision: https://developer.blender.org/D11111
Diffstat (limited to 'source/blender/editors/transform/transform_convert_gpencil.c')
-rw-r--r--source/blender/editors/transform/transform_convert_gpencil.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/editors/transform/transform_convert_gpencil.c b/source/blender/editors/transform/transform_convert_gpencil.c
index 45df0e66691..4932a5f8d23 100644
--- a/source/blender/editors/transform/transform_convert_gpencil.c
+++ b/source/blender/editors/transform/transform_convert_gpencil.c
@@ -78,14 +78,12 @@ static short get_bezt_sel_triple_flag(BezTriple *bezt, const bool handles_visibl
flag = ((bezt->f1 & SELECT) ? SEL_F1 : 0) | ((bezt->f2 & SELECT) ? SEL_F2 : 0) |
((bezt->f3 & SELECT) ? SEL_F3 : 0);
}
- else {
- if (bezt->f2 & SELECT) {
- flag = SEL_ALL;
- }
+ else if (bezt->f2 & SELECT) {
+ flag = SEL_ALL;
}
/* Special case for auto & aligned handles */
- if (flag != SEL_ALL && flag & SEL_F2) {
+ if ((flag != SEL_ALL) && (flag & SEL_F2)) {
if (ELEM(bezt->h1, HD_AUTO, HD_ALIGN) && ELEM(bezt->h2, HD_AUTO, HD_ALIGN)) {
flag = SEL_ALL;
}
@@ -316,7 +314,7 @@ static void createTransGPencil_curves(bContext *C,
}
}
else if (handles_visible) {
- if (BEZT_ISSEL_IDX(bezt, j)) {
+ if (sel) {
td->flag = TD_SELECTED;
}
else {