Fix #5941. Regression in ae22eec9 where active object wasn't considered when adding a parametric door.

This commit is contained in:
Dion Moult
2025-01-10 21:50:52 +11:00
parent 0a32149be3
commit 956b7dcb92
2 changed files with 6 additions and 6 deletions
+5 -5
View File
@@ -572,7 +572,7 @@ class AddDoor(bpy.types.Operator, tool.Ifc.Operator):
update_door_modifier_representation(obj)
def _execute(self, context):
for obj in context.selected_objects:
for obj in tool.Blender.get_selected_objects():
if not tool.Blender.Modifier.is_eligible_for_door_modifier(obj):
continue
self.add_door_on_object(obj)
@@ -610,7 +610,7 @@ class CancelEditingDoor(bpy.types.Operator, tool.Ifc.Operator):
props.is_editing = False
def _execute(self, context):
for obj in context.selected_objects:
for obj in tool.Blender.get_selected_objects():
self.cancel_editing_door_on_object(obj)
return {"FINISHED"}
@@ -642,7 +642,7 @@ class FinishEditingDoor(bpy.types.Operator, tool.Ifc.Operator):
ifcopenshell.api.run("pset.edit_pset", tool.Ifc.get(), pset=pset, properties={"Data": door_data})
def _execute(self, context):
for obj in context.selected_objects:
for obj in tool.Blender.get_selected_objects():
self.finish_editing_door_on_object(obj)
return {"FINISHED"}
@@ -666,7 +666,7 @@ class EnableEditingDoor(bpy.types.Operator, tool.Ifc.Operator):
props.is_editing = True
def _execute(self, context):
for obj in context.selected_objects:
for obj in tool.Blender.get_selected_objects():
self.edit_door_on_obj(obj)
return {"FINISHED"}
@@ -686,6 +686,6 @@ class RemoveDoor(bpy.types.Operator, tool.Ifc.Operator):
ifcopenshell.api.run("pset.remove_pset", tool.Ifc.get(), product=element, pset=pset)
def _execute(self, context):
for obj in context.selected_objects:
for obj in tool.Blender.get_selected_objects():
self.remove_door_on_object(obj)
return {"FINISHED"}
+1 -1
View File
@@ -144,7 +144,7 @@ class Blender(bonsai.core.tool.Blender):
@classmethod
def get_active_object(cls) -> bpy.types.Object:
return bpy.context.view_layer.objects.active
return bpy.context.view_layer.objects.active or bpy.context.active_object
@classmethod
def get_selected_objects(cls) -> set[bpy.types.Object]: