From f0d7965d49c6f4574775e71511395bf804c0ae62 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 28 Jun 2024 14:25:56 +1000 Subject: [PATCH] Fix #4804. Prevent possible execution of toggle edit mode if there is no active object. Recent changes in the UI already make this very unlikely - we don't show the ability to toggle edit mode pre-emptively in the viewport tob bar but just in case... --- src/blenderbim/blenderbim/bim/module/geometry/operator.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 82a6fd6f0c..a53bcee4e9 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -1126,7 +1126,6 @@ class DuplicateMoveLinkedAggregate(bpy.types.Operator): location_diff = new_obj.location - base_obj_location new_obj.location = context.scene.cursor.location + location_diff - if len(context.selected_objects) != 1: return {"FINISHED"} @@ -1654,6 +1653,8 @@ class OverrideModeSetObject(bpy.types.Operator): return IfcStore.execute_ifc_operator(self, context) def _execute(self, context): + if not context.active_object: + return {"FINISHED"} for obj in self.edited_objs: if self.should_save: bpy.ops.bim.update_representation(obj=obj.name, ifc_representation_class="") @@ -1685,6 +1686,8 @@ class OverrideModeSetObject(bpy.types.Operator): return IfcStore.execute_ifc_operator(self, context, is_invoke=True) def _invoke(self, context, event): + if not context.active_object: + return {"FINISHED"} self.is_valid = True bpy.ops.object.mode_set(mode="EDIT", toggle=True)