Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-07-04 01:34:25 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-07-04 01:34:25 +0300
commitc252fe7a32ab56f1bb052b083e7ceaec0bd5a49f (patch)
tree6fcbdf0e0ceb0469741ad66a90dda0318d9f07eb /source/blender/editors/transform/transform_ops.c
parentcc667854a94d782e252722e2581a692fa7ec2cac (diff)
Transform: don't inspect all scene objects in poll
From fix for T66311, c6a199e2542b4 Poll functions should never loop over entire scene, in this case behave as other transform operators, only checking the active screen.
Diffstat (limited to 'source/blender/editors/transform/transform_ops.c')
-rw-r--r--source/blender/editors/transform/transform_ops.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 60518e34990..e038a2bf79e 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -755,28 +755,6 @@ static void TRANSFORM_OT_resize(struct wmOperatorType *ot)
P_OPTIONS | P_GPENCIL_EDIT | P_CENTER);
}
-static bool skin_resize_poll(bContext *C)
-{
- uint objects_len = 0;
- Object **objects = BKE_view_layer_array_from_objects_in_edit_mode_unique_data(
- CTX_data_view_layer(C), CTX_wm_view3d(C), &objects_len);
-
- bool ok = false;
-
- for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
- Object *obedit = objects[ob_index];
- if (obedit->type == OB_MESH) {
- BMEditMesh *em = BKE_editmesh_from_object(obedit);
- if (em && CustomData_has_layer(&em->bm->vdata, CD_MVERT_SKIN)) {
- ok = true;
- }
- }
- }
- MEM_freeN(objects);
-
- return ok;
-}
-
static void TRANSFORM_OT_skin_resize(struct wmOperatorType *ot)
{
/* identifiers */
@@ -790,7 +768,7 @@ static void TRANSFORM_OT_skin_resize(struct wmOperatorType *ot)
ot->exec = transform_exec;
ot->modal = transform_modal;
ot->cancel = transform_cancel;
- ot->poll = skin_resize_poll;
+ ot->poll = ED_operator_screenactive;
ot->poll_property = transform_poll_property;
RNA_def_float_vector(