diff options
Diffstat (limited to 'source/blender/editors/transform/transform_ops.c')
-rw-r--r-- | source/blender/editors/transform/transform_ops.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c index b164d0d443f..c455dd55b8a 100644 --- a/source/blender/editors/transform/transform_ops.c +++ b/source/blender/editors/transform/transform_ops.c @@ -541,7 +541,7 @@ static bool transform_poll_property(const bContext *UNUSED(C), { /* Hide orientation axis if no constraints are set, since it wont be used. */ PropertyRNA *prop_con = RNA_struct_find_property(op->ptr, "orient_type"); - if (prop_con != NULL && (prop_con != prop)) { + if (!ELEM(prop_con, NULL, prop)) { if (STRPREFIX(prop_id, "constraint")) { /* Special case: show constraint axis if we don't have values, @@ -825,6 +825,17 @@ static void TRANSFORM_OT_trackball(struct wmOperatorType *ot) Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP | P_GPENCIL_EDIT | P_CENTER); } +/* Similar to #transform_shear_poll. */ +static bool transform_rotate_poll(bContext *C) +{ + if (!ED_operator_screenactive(C)) { + return false; + } + + ScrArea *area = CTX_wm_area(C); + return area && !ELEM(area->spacetype, SPACE_ACTION); +} + static void TRANSFORM_OT_rotate(struct wmOperatorType *ot) { /* identifiers */ @@ -838,7 +849,7 @@ static void TRANSFORM_OT_rotate(struct wmOperatorType *ot) ot->exec = transform_exec; ot->modal = transform_modal; ot->cancel = transform_cancel; - ot->poll = ED_operator_screenactive; + ot->poll = transform_rotate_poll; ot->poll_property = transform_poll_property; RNA_def_float_rotation( @@ -902,6 +913,7 @@ static void TRANSFORM_OT_bend(struct wmOperatorType *ot) Transform_Properties(ot, P_PROPORTIONAL | P_MIRROR | P_SNAP | P_GPENCIL_EDIT | P_CENTER); } +/* Similar to #transform_rotate_poll. */ static bool transform_shear_poll(bContext *C) { if (!ED_operator_screenactive(C)) { |