From 2272e14921ec035aeb22328ecd91e285f3803f46 Mon Sep 17 00:00:00 2001 From: James Henstridge Date: Thu, 29 Jun 2000 01:33:08 +0000 Subject: (pygobject_[gs]et_param): free the GValue afterwards so as not to leak memory. --- gobject/gobjectmodule.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gobject/gobjectmodule.c') diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index 43f5792..c824d14 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -479,6 +479,7 @@ pygobject_get_param(PyGObject *self, PyObject *args) gchar *param_name; GParamSpec *pspec; GValue value; + PyObject *ret; if (!PyArg_ParseTuple(args, "s:GObject.get_param", ¶m_name)) return NULL; @@ -491,7 +492,9 @@ pygobject_get_param(PyGObject *self, PyObject *args) } g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE(pspec)); g_object_get_param(self->obj, param_name, &value); - return pyg_value_as_pyobject(&value); + ret = pyg_value_as_pyobject(&value); + g_value_unset(&value); + return ret; } static PyObject * @@ -518,6 +521,7 @@ pygobject_set_param(PyGObject *self, PyObject *args) return NULL; } g_object_set_param(self->obj, param_name, &value); + g_value_unset(&value); Py_INCREF(Py_None); return Py_None; } -- cgit