diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 9e86c4cb686..34a6c64b90f 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -3427,6 +3427,7 @@ static void initShear(TransInfo *t) t->orient_axis_ortho = 1; if (t->orient_matrix_is_set == false) { + t->orient_matrix_is_set = true; float *axis = t->orient_matrix[t->orient_axis]; float *axis_ortho = t->orient_matrix[t->orient_axis_ortho]; if (is_zero_v3(axis)) { @@ -4142,8 +4143,9 @@ static void initRotation(TransInfo *t) if (t->flag & T_2D_EDIT) t->flag |= T_NO_CONSTRAINT; - if (t->orient_matrix_is_set == false) { - if ((t->options & CTX_PAINT_CURVE) == 0) { + if ((t->options & CTX_PAINT_CURVE) == 0) { + if (t->orient_matrix_is_set == false) { + t->orient_matrix_is_set = true; t->orientation.unset = V3D_ORIENT_VIEW; copy_m3_m4(t->orient_matrix, t->viewinv); normalize_m3(t->orient_matrix); @@ -4668,6 +4670,7 @@ static void initNormalRotation(TransInfo *t) } if (t->orient_matrix_is_set == false) { + t->orient_matrix_is_set = true; t->orientation.unset = V3D_ORIENT_VIEW; copy_m3_m4(t->orient_matrix, t->viewinv); normalize_m3(t->orient_matrix); diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 0e848227378..98031fd0ed4 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1528,6 +1528,7 @@ void initTransInfo(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve { RNA_property_float_get_array(op->ptr, prop, &t->spacemtx[0][0]); /* 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;