diff options
Diffstat (limited to 'source/blender/editors/transform/transform_manipulator.c')
-rw-r--r-- | source/blender/editors/transform/transform_manipulator.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c index 93bc02d7180..bdf0a91bf89 100644 --- a/source/blender/editors/transform/transform_manipulator.c +++ b/source/blender/editors/transform/transform_manipulator.c @@ -412,6 +412,9 @@ int calc_manipulator_stats(const bContext *C) if(ob && totsel) { switch(v3d->twmode) { + + case V3D_MANIP_GLOBAL: + break; /* nothing to do */ case V3D_MANIP_NORMAL: if(obedit || ob->mode & OB_MODE_POSE) { @@ -473,8 +476,12 @@ int calc_manipulator_stats(const bContext *C) } break; default: /* V3D_MANIP_CUSTOM */ - // XXX applyTransformOrientation(C, t); - break; + { + float mat[3][3]; + applyTransformOrientation(C, mat, NULL); + Mat4CpyMat3(rv3d->twmat, mat); + break; + } } } @@ -1602,7 +1609,7 @@ int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op) break; } RNA_boolean_set_array(op->ptr, "constraint_axis", constraint_axis); - WM_operator_name_call(C, "TFM_OT_translate", WM_OP_INVOKE_REGION_WIN, op->ptr); + WM_operator_name_call(C, "TFM_OT_translate", WM_OP_INVOKE_DEFAULT, op->ptr); } else if (drawflags & MAN_SCALE_C) { switch(drawflags) { @@ -1632,10 +1639,10 @@ int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op) break; } RNA_boolean_set_array(op->ptr, "constraint_axis", constraint_axis); - WM_operator_name_call(C, "TFM_OT_resize", WM_OP_INVOKE_REGION_WIN, op->ptr); + WM_operator_name_call(C, "TFM_OT_resize", WM_OP_INVOKE_DEFAULT, op->ptr); } else if (drawflags == MAN_ROT_T) { /* trackball need special case, init is different */ - WM_operator_name_call(C, "TFM_OT_trackball", WM_OP_INVOKE_REGION_WIN, op->ptr); + WM_operator_name_call(C, "TFM_OT_trackball", WM_OP_INVOKE_DEFAULT, op->ptr); } else if (drawflags & MAN_ROT_C) { switch(drawflags) { @@ -1650,7 +1657,7 @@ int BIF_do_manipulator(bContext *C, struct wmEvent *event, wmOperator *op) break; } RNA_boolean_set_array(op->ptr, "constraint_axis", constraint_axis); - WM_operator_name_call(C, "TFM_OT_rotate", WM_OP_INVOKE_REGION_WIN, op->ptr); + WM_operator_name_call(C, "TFM_OT_rotate", WM_OP_INVOKE_DEFAULT, op->ptr); } } /* after transform, restore drawflags */ |