From b57b7080fd8242b6e0177b2d4a8f7348f021bfd8 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Tue, 16 Jan 2024 09:44:04 +0100 Subject: [PATCH] #4220 weakref to file --- src/ifcopenshell-python/ifcopenshell/file.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ifcopenshell-python/ifcopenshell/file.py b/src/ifcopenshell-python/ifcopenshell/file.py index 5f42bd1787..e654d1cd8c 100644 --- a/src/ifcopenshell-python/ifcopenshell/file.py +++ b/src/ifcopenshell-python/ifcopenshell/file.py @@ -252,7 +252,11 @@ class file(object): self.future = [] self.transaction = None - file_dict[self.file_pointer()] = self + import weakref + file_dict[self.file_pointer()] = weakref.ref(self) + + def __del__(self): + del file_dict[self.file_pointer()] def set_history_size(self, size): self.history_size = size @@ -574,4 +578,4 @@ class file(object): @staticmethod def from_pointer(v): - return file_dict.get(v) + return file_dict.get(v)()