Fix T99037: bpy.ops.transform.rotate fails in background mode
This reverts commit c503c5f756
,
alternate fix for T82244.
Scripts that run in background mode expected rotation to be usable,
defaulting to the 3D viewport when there is no active windowing data.
Also resolves T88610.
This commit is contained in:
parent
585d81ba2b
commit
77eadbede4
Notes:
blender-bot
2023-02-14 06:17:14 +01:00
Referenced by issue #99323, Regression: Geometry nodes result does not show in mesh edit mode Referenced by issue #99037, bpy.ops.transform.rotate doesn't work in blender in background mode. (same as T88610) Referenced by issue #88610, bpy.ops.transform.rotate doesn't work in blender as module or in blender in background mode.
|
@ -11,6 +11,7 @@
|
|||
#include "BLI_task.h"
|
||||
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_report.h"
|
||||
#include "BKE_unit.h"
|
||||
|
||||
#include "ED_screen.h"
|
||||
|
@ -343,6 +344,11 @@ static void applyRotationMatrix(TransInfo *t, float mat_xform[4][4])
|
|||
|
||||
void initRotation(TransInfo *t)
|
||||
{
|
||||
if (t->spacetype == SPACE_ACTION) {
|
||||
BKE_report(t->reports, RPT_ERROR, "Rotation is not supported in the Dope Sheet Editor");
|
||||
t->state = TRANS_CANCEL;
|
||||
}
|
||||
|
||||
t->mode = TFM_ROTATION;
|
||||
t->transform = applyRotation;
|
||||
t->transform_matrix = applyRotationMatrix;
|
||||
|
|
|
@ -849,17 +849,6 @@ 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 */
|
||||
|
@ -873,7 +862,7 @@ static void TRANSFORM_OT_rotate(struct wmOperatorType *ot)
|
|||
ot->exec = transform_exec;
|
||||
ot->modal = transform_modal;
|
||||
ot->cancel = transform_cancel;
|
||||
ot->poll = transform_rotate_poll;
|
||||
ot->poll = ED_operator_screenactive;
|
||||
ot->poll_property = transform_poll_property;
|
||||
|
||||
RNA_def_float_rotation(
|
||||
|
@ -938,7 +927,6 @@ 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)) {
|
||||
|
|
Loading…
Reference in New Issue