We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
__del__
RefCounted
1 parent b91525b commit 5c65340Copy full SHA for 5c65340
src/godot/classes.pyx.j2
@@ -173,6 +173,19 @@ cdef object _load_class(str name):
173
174
attrs["new"] = _new
175
176
+ def _del(self):
177
+ cdef BaseGDObject obj = <BaseGDObject>self
178
+ if _object_call(obj._gd_ptr, "unreference", []):
179
+ gdptrs.gdptr_object_destroy(obj._gd_ptr)
180
+ obj._gd_ptr = NULL
181
+
182
+ attrs["__del__"] = _del
183
184
+ def _free(self):
185
+ raise RuntimeError("RefCounted Godot object cannot be freed")
186
187
+ attrs["free"] = _free
188
189
def _init(self):
190
cdef gd_string_name_t name = gdapi.gd_string_name_from_unchecked_pystr(type(self).__name__)
191
(<BaseGDObject>self)._gd_ptr = gdptrs.gdptr_classdb_construct_object(&name)
0 commit comments