summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--gobject/gobjectmodule.c2
-rw-r--r--gobjectmodule.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6f276162..8d77a3e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
* gobjectmodule.c (pygobject_dealloc): use plain old
PyObject_GC_Del, as the overridden tp_free seems to ignore the GC
header.
+ (pygobject_new): GC track wrappers created through pygobject_new.
* configure.in: increment version number, and require gtk 1.3.9
(we already required it before).
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index 2b040eb1..e49c64fc 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -325,6 +325,8 @@ pygobject_new(GObject *obj)
/* save wrapper pointer so we can access it later */
g_object_set_qdata(obj, pygobject_wrapper_key, self);
+ PyObject_GC_Track((PyObject *)self);
+
return (PyObject *)self;
}
diff --git a/gobjectmodule.c b/gobjectmodule.c
index 2b040eb1..e49c64fc 100644
--- a/gobjectmodule.c
+++ b/gobjectmodule.c
@@ -325,6 +325,8 @@ pygobject_new(GObject *obj)
/* save wrapper pointer so we can access it later */
g_object_set_qdata(obj, pygobject_wrapper_key, self);
+ PyObject_GC_Track((PyObject *)self);
+
return (PyObject *)self;
}