diff options
Diffstat (limited to 'source/blender/editors/transform/transform_generics.c')
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 0a7d139d7a1..2e358c1cc92 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1203,7 +1203,7 @@ void initTransDataContainers_FromObjectData(TransInfo *t, Object *obact, Object const eObjectMode object_mode = obact ? obact->mode : OB_MODE_OBJECT; const short object_type = obact ? obact->type : -1; - if ((object_mode & OB_MODE_EDIT) || + if ((object_mode & OB_MODE_EDIT) || (t->options & CTX_GPENCIL_STROKES) || ((object_mode & OB_MODE_POSE) && (object_type == OB_ARMATURE))) { if (t->data_container) { @@ -1238,6 +1238,9 @@ void initTransDataContainers_FromObjectData(TransInfo *t, Object *obact, Object tc->poseobj = objects[i]; tc->use_local_mat = true; } + else if (t->options & CTX_GPENCIL_STROKES) { + tc->use_local_mat = true; + } if (tc->use_local_mat) { BLI_assert((t->flag & T_2D_EDIT) == 0); @@ -1874,22 +1877,6 @@ void calculateCenterCursor(TransInfo *t, float r_center[3]) } r_center[2] = 0.0f; } - else if (t->options & CTX_GPENCIL_STROKES) { - /* move cursor in local space */ - TransData *td = NULL; - FOREACH_TRANS_DATA_CONTAINER (t, tc) { - float mat[3][3], imat[3][3]; - - td = tc->data; - Object *ob = td->ob; - if (ob) { - sub_v3_v3v3(r_center, r_center, ob->obmat[3]); - copy_m3_m4(mat, ob->obmat); - invert_m3_m3(imat, mat); - mul_m3_v3(imat, r_center); - } - } - } } void calculateCenterCursor2D(TransInfo *t, float r_center[2]) |