Hi,
I've fixed a small reference leak in the get/set_property wrappers.
It's also registered as bug #71021.
Regards,
Arjan
Index: pygtk/gobjectmodule.c
===================================================================
RCS file: /cvs/gnome/gnome-python/pygtk/gobjectmodule.c,v
retrieving revision 1.104
diff -u -p -r1.104 gobjectmodule.c
--- pygtk/gobjectmodule.c 2002/07/12 13:50:57 1.104
+++ pygtk/gobjectmodule.c 2002/08/01 13:10:50
@@ -388,14 +388,15 @@ pyg_object_set_property (GObject *object
py_value = pyg_value_as_pyobject (value, TRUE);
retval = PyObject_CallMethod(object_wrapper, "do_set_property",
"OO", py_pspec, py_value);
+ Py_DECREF(py_pspec);
+ Py_DECREF(py_value);
+ Py_DECREF(object_wrapper);
if (retval) {
Py_DECREF(retval);
} else {
PyErr_Print();
PyErr_Clear();
}
- Py_DECREF(py_pspec);
- Py_DECREF(py_value);
}
static void
@@ -411,12 +412,13 @@ pyg_object_get_property (GObject *object
py_pspec = pyg_param_spec_new(pspec);
retval = PyObject_CallMethod(object_wrapper, "do_get_property",
"O", py_pspec);
+ Py_DECREF(py_pspec);
+ Py_DECREF(object_wrapper);
if (retval == NULL || pyg_value_from_pyobject(value, retval) < 0) {
PyErr_Print();
PyErr_Clear();
}
Py_XDECREF(retval);
- Py_DECREF(py_pspec);
}
static void