Fix possible crash removing resource after 1f21e96

This commit is contained in:
Andrej730
2024-11-22 17:12:56 +05:00
parent 69eca15195
commit 091ed3bb8d
@@ -46,9 +46,12 @@ def remove_resource(file: ifcopenshell.file, resource: ifcopenshell.entity_insta
for inverse in file.get_inverse(settings["resource"]):
if inverse.is_a("IfcRelNests"):
if inverse.RelatingObject == settings["resource"]:
for related_object in inverse.RelatedObjects:
ifcopenshell.api.resource.remove_resource(file, resource=related_object)
# Remove rel before iteration over objects
# to simplify removal of nested resources and avoid crashes.
related_objects = inverse.RelatedObjects
remove_consider_history(inverse)
for related_object in related_objects:
ifcopenshell.api.resource.remove_resource(file, resource=related_object)
elif inverse.RelatedObjects == (resource,):
remove_consider_history(inverse)