From 847bb4c4e0c35a4f617d75a700f79932e310c6db Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Mon, 17 Feb 2020 13:03:58 -0300 Subject: Fix T73853: Redo does't work properly with NLA "Move" transform mode The orientation matrix when re-doing some transform operations was negated. Thanks @lichtwerk for pointing out the problem. --- source/blender/editors/transform/transform_generics.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'source/blender/editors/transform') diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 9a524351982..d39ea6f14d7 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1629,11 +1629,11 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve /* When using redo, don't use the custom constraint matrix * if the user selects a different orientation. */ (RNA_enum_get(op->ptr, "orient_type") == RNA_enum_get(op->ptr, "orient_matrix_type")))) { - RNA_property_float_get_array(op->ptr, prop, &t->spacemtx[0][0]); + RNA_property_float_get_array(op->ptr, prop, &t->orient_matrix[0][0]); + copy_m3_m3(t->spacemtx, t->orient_matrix); + negate_m3(t->spacemtx); /* Some transform modes use this to operate on an axis. */ t->orient_matrix_is_set = true; - copy_m3_m3(t->orient_matrix, t->spacemtx); - t->orient_matrix_is_set = true; t->orientation.user = V3D_ORIENT_CUSTOM_MATRIX; t->orientation.custom = 0; if (t->flag & T_MODAL) { -- cgit v1.2.3