summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_weakref.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/_weakref.c b/Modules/_weakref.c
index 5bdab4d..399b4fe 100644
--- a/Modules/_weakref.c
+++ b/Modules/_weakref.c
@@ -59,7 +59,6 @@ clear_weakref(PyWeakReference *self)
if (self->wr_object != Py_None) {
PyWeakReference **list = GET_WEAKREFS_LISTPTR(self->wr_object);
- PyObject_GC_Fini((PyObject *)self);
if (*list == self)
*list = self->wr_next;
self->wr_object = Py_None;
@@ -79,6 +78,7 @@ static void
weakref_dealloc(PyWeakReference *self)
{
clear_weakref(self);
+ PyObject_GC_Fini((PyObject *)self);
self->wr_next = free_list;
free_list = self;
}