From 7d63b03dd37c9b597df62ae20345c63829a8a4d9 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Tue, 4 Oct 2022 14:23:02 +1100 Subject: [PATCH] Fix bug where linking an element twice caused stacked undos to fail. See #2200. --- src/blenderbim/blenderbim/bim/ifc.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index bad89dea4c..6d0b7a35d4 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -277,6 +277,11 @@ class IfcStore: @staticmethod def link_element(element, obj): + existing_obj = IfcStore.id_map.get(element.id(), None) + if existing_obj == obj: + return + elif existing_obj: + IfcStore.unlink_element(obj=existing_obj) IfcStore.id_map[element.id()] = obj if hasattr(element, "GlobalId"): IfcStore.guid_map[element.GlobalId] = obj