Maintain active object throughout complex IFC operations for a better user experience

This commit is contained in:
Dion Moult
2021-10-05 14:45:16 +11:00
parent f54a1a163d
commit f5913baaca
+2
View File
@@ -232,6 +232,7 @@ class IfcStore:
is_top_level_operator = not bool(IfcStore.current_transaction)
if is_top_level_operator:
active_object = context.active_object
IfcStore.begin_transaction(operator)
IfcStore.get_file().begin_transaction()
# This empty transaction ensures that each operator has at least one transaction
@@ -247,6 +248,7 @@ class IfcStore:
operator, rollback=lambda d: IfcStore.get_file().undo(), commit=lambda d: IfcStore.get_file().redo()
)
IfcStore.end_transaction(operator)
context.view_layer.objects.active = active_object
return result