diff options
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | gio/gfileenumerator.override | 1 | ||||
-rw-r--r-- | gio/gio.override | 23 | ||||
-rw-r--r-- | gio/gvolumemonitor.override | 3 |
4 files changed, 44 insertions, 0 deletions
@@ -1,5 +1,22 @@ 2008-08-28 Paul Pogonyshev <pogonyshev@gmx.net> + Bug 547088 – wrap g_content_types_get_registered() + + * gio/gio.override (_wrap_g_drive_get_volumes): Fix refleak. + (_wrap_g_content_types_get_registered): New function. + + * gio/gfileenumerator.override (_wrap_g_file_enumerator_next_files_finish): + Fix refleak. + + * gio/gvolumemonitor.override (_wrap_g_volume_monitor_get_connected_drives): + Fix refleak. + (_wrap_g_volume_monitor_get_volumes): Likewise. + (_wrap_g_volume_monitor_get_mounts): Likewise. + +2008-08-28 Paul Pogonyshev <pogonyshev@gmx.net> + + Bug 547494 – gio.InputStream.read() looks broken + * gio/gio.defs (gio.InputStream.read_part): Rename from read(), document. (gio.InputStream.read): Rename from read_all(), document. diff --git a/gio/gfileenumerator.override b/gio/gfileenumerator.override index 55c2ffe..b7a668f 100644 --- a/gio/gfileenumerator.override +++ b/gio/gfileenumerator.override @@ -133,6 +133,7 @@ _wrap_g_file_enumerator_next_files_finish(PyGObject *self, PyObject *args, PyObj PyObject *item = pygobject_new((GObject *)file_info); PyList_Append(ret, item); Py_DECREF(item); + g_object_unref(file_info); } g_list_free(next_files); diff --git a/gio/gio.override b/gio/gio.override index 431d220..deefd6b 100644 --- a/gio/gio.override +++ b/gio/gio.override @@ -133,6 +133,7 @@ _wrap_g_drive_get_volumes (PyGObject *self) PyObject *item = pygobject_new((GObject *)volume); PyList_Append(ret, item); Py_DECREF(item); + g_object_unref(volume); } g_list_free(list); @@ -512,3 +513,25 @@ _wrap_g_vfs_get_supported_uri_schemes(PyGObject *self) return ret; } +%% +override g_content_types_get_registered noargs +static PyObject * +_wrap_g_content_types_get_registered(PyObject *self) +{ + GList *list, *l; + PyObject *ret; + + list = g_content_types_get_registered(); + + ret = PyList_New(0); + for (l = list; l; l = l->next) { + char *content_type = l->data; + PyObject *string = PyString_FromString(content_type); + PyList_Append(ret, string); + Py_DECREF(string); + g_free(content_type); + } + g_list_free(list); + + return ret; +} diff --git a/gio/gvolumemonitor.override b/gio/gvolumemonitor.override index 1ecc942..68a4db7 100644 --- a/gio/gvolumemonitor.override +++ b/gio/gvolumemonitor.override @@ -35,6 +35,7 @@ _wrap_g_volume_monitor_get_connected_drives (PyGObject *self) PyObject *item = pygobject_new((GObject *)drive); PyList_Append(ret, item); Py_DECREF(item); + g_object_unref(drive); } g_list_free(list); @@ -56,6 +57,7 @@ _wrap_g_volume_monitor_get_volumes (PyGObject *self) PyObject *item = pygobject_new((GObject *)volume); PyList_Append(ret, item); Py_DECREF(item); + g_object_unref(volume); } g_list_free(list); @@ -77,6 +79,7 @@ _wrap_g_volume_monitor_get_mounts (PyGObject *self) PyObject *item = pygobject_new((GObject *)mount); PyList_Append(ret, item); Py_DECREF(item); + g_object_unref(mount); } g_list_free(list); |