summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2005-09-02 15:03:53 +0000
committerJohan Dahlin <johan@src.gnome.org>2005-09-02 15:03:53 +0000
commit1bb1232911c08ec2a6f99ffd7ee606f7866f151d (patch)
tree054f3435bdfb5dc985bb9e65855b18de6fc132b1
parent38ddcda759ea69c7a2e7b2df8eb78b986f85032e (diff)
downloadpygtk-1bb1232911c08ec2a6f99ffd7ee606f7866f151d.tar.gz
Also include interfaces, fixes #315038
* gobject/gobjectmodule.c: (pyg_signal_list_names): Also include interfaces, fixes #315038
-rw-r--r--ChangeLog5
-rw-r--r--gobject/gobjectmodule.c10
2 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ebb735a2..69a2f3aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2005-09-02 Johan Dahlin <jdahlin@async.com.br>
+ * gobject/gobjectmodule.c: (pyg_signal_list_names):
+ Also include interfaces, fixes #315038
+
+2005-09-02 Johan Dahlin <jdahlin@async.com.br>
+
* configure.in: post release version bump
* Changelog.pre-2-8: Move old changelog
diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c
index 078201c8..c43d368b 100644
--- a/gobject/gobjectmodule.c
+++ b/gobject/gobjectmodule.c
@@ -1320,7 +1320,8 @@ pyg_signal_list_names (PyObject *self, PyObject *args, PyObject *kwargs)
guint n;
guint *ids;
guint i;
-
+ gpointer iface = NULL;
+
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
"O:gobject.signal_list_names",
kwlist, &py_itype))
@@ -1339,6 +1340,8 @@ pyg_signal_list_names (PyObject *self, PyObject *args, PyObject *kwargs)
PyErr_SetString(PyExc_TypeError,
"type must be instantiable or an interface");
return NULL;
+ } else {
+ iface = g_type_default_interface_ref(itype);
}
ids = g_signal_list_ids(itype, &n);
@@ -1352,7 +1355,10 @@ pyg_signal_list_names (PyObject *self, PyObject *args, PyObject *kwargs)
g_free(ids);
if (class)
- g_type_class_unref(class);
+ g_type_class_unref(class);
+ else
+ g_type_default_interface_unref(iface);
+
return list;
}