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.
This commit is contained in:
2020-02-17 13:03:58 -03:00
parent 4353bc9190
commit 847bb4c4e0

View File

@@ -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) {