diff options
author | James Henstridge <jamesh@src.gnome.org> | 2000-06-29 01:33:08 +0000 |
---|---|---|
committer | James Henstridge <jamesh@src.gnome.org> | 2000-06-29 01:33:08 +0000 |
commit | 2272e14921ec035aeb22328ecd91e285f3803f46 (patch) | |
tree | f690a5fc39f7e0b7d2feba931dc9876e95fe1884 | |
parent | 4e62c6450844aa49430fa450ce555370cb43dedb (diff) | |
download | pygobject-2272e14921ec035aeb22328ecd91e285f3803f46.tar.gz pygobject-2272e14921ec035aeb22328ecd91e285f3803f46.tar.xz pygobject-2272e14921ec035aeb22328ecd91e285f3803f46.zip |
(pygobject_[gs]et_param): free the GValue afterwards so as not to
leak memory.
-rw-r--r-- | gobject/gobjectmodule.c | 6 |
1 files changed, 5 insertions, 1 deletions
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; } |