summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Pogonyshev <pogonyshev@gmx.net>2008-08-27 21:28:15 +0000
committerPaul Pogonyshev <paulp@src.gnome.org>2008-08-27 21:28:15 +0000
commita387a178ed400de963cedd56c6c43fe10f26913e (patch)
tree9811832e15e1fc791cea6d9c34df7a52bb96077d
parent30eb71d505abcbaf42d098dac62d0c747338d910 (diff)
downloadpygobject-a387a178ed400de963cedd56c6c43fe10f26913e.tar.gz
pygobject-a387a178ed400de963cedd56c6c43fe10f26913e.tar.xz
pygobject-a387a178ed400de963cedd56c6c43fe10f26913e.zip
Bug 547088 – wrap g_content_types_get_registered()
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. svn path=/trunk/; revision=951
-rw-r--r--ChangeLog17
-rw-r--r--gio/gfileenumerator.override1
-rw-r--r--gio/gio.override23
-rw-r--r--gio/gvolumemonitor.override3
4 files changed, 44 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 75d623e..e7f6dc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);