From e4e7dfc1d8c0486530e5cabd2e448bf79b2fdb0b Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Fri, 27 Nov 2020 10:51:33 -0300 Subject: [PATCH] Fix transform snap mixed with incremental The incremental was taking priority but the other elements are mandatory. --- source/blender/editors/transform/transform_mode_rotate.c | 4 +++- source/blender/editors/transform/transform_mode_translate.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/transform/transform_mode_rotate.c b/source/blender/editors/transform/transform_mode_rotate.c index 856e71a0df6..e81ea8b0a0d 100644 --- a/source/blender/editors/transform/transform_mode_rotate.c +++ b/source/blender/editors/transform/transform_mode_rotate.c @@ -214,8 +214,10 @@ static void applyRotation(TransInfo *t, const int UNUSED(mval[2])) final = large_rotation_limit(final); } else { - transform_snap_increment(t, &final); applySnapping(t, &final); + if (!(activeSnap(t) && validSnap(t))) { + transform_snap_increment(t, &final); + } } t->values_final[0] = final; diff --git a/source/blender/editors/transform/transform_mode_translate.c b/source/blender/editors/transform/transform_mode_translate.c index 183fc8f5dc3..a54de102966 100644 --- a/source/blender/editors/transform/transform_mode_translate.c +++ b/source/blender/editors/transform/transform_mode_translate.c @@ -389,7 +389,7 @@ static void applyTranslation(TransInfo *t, const int UNUSED(mval[2])) float incr_dir[3]; mul_v3_m3v3(incr_dir, t->spacemtx_inv, global_dir); - if (transform_snap_increment(t, incr_dir)) { + if (!(activeSnap(t) && validSnap(t)) && transform_snap_increment(t, incr_dir)) { mul_v3_m3v3(incr_dir, t->spacemtx, incr_dir); /* Test for mixed snap with grid. */