From e7c4a19d9e40e98b503add9f8c2ae10b33ee1a11 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Tue, 11 Nov 2025 13:37:57 +0500 Subject: [PATCH] `bim.override_object_duplicate_move` - sync `poll` with `object.duplicate_move` --- src/bonsai/bonsai/bim/module/geometry/operator.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py index dd8b51a2e2..6485856669 100644 --- a/src/bonsai/bonsai/bim/module/geometry/operator.py +++ b/src/bonsai/bonsai/bim/module/geometry/operator.py @@ -1143,10 +1143,18 @@ class OverrideDuplicateMove(bpy.types.Operator): is_interactive: bpy.props.BoolProperty(name="Is Interactive", default=True) @classmethod - def poll(cls, context): - return len(context.selected_objects) > 0 + def poll(cls, context) -> bool: + # Match `object.duplicate_move` poll for consistency. + # `object.duplicate_move` poll checks for OBJECT mode. + poll = bpy.ops.object.duplicate_move.poll() + if poll: + return True + cls.poll_message_set("Only available in OBJECT mode") + return False def execute(self, context): + if not context.selected_objects: + return {"FINISHED"} return OverrideDuplicateMove.execute_duplicate_operator(self, context, linked=False) def _execute(self, context):