summaryrefslogtreecommitdiff
path: root/gtk/libglade.override
diff options
context:
space:
mode:
authorJohan Dahlin <jdahlin@async.com.br>2003-01-16 16:52:52 +0000
committerJohan Dahlin <zilch@src.gnome.org>2003-01-16 16:52:52 +0000
commit2bef7a99a6c0cdba97ae4593140ecba8af233725 (patch)
treee0fc5d2b550fc3fbf26dfc7ba397bfc73cbac16b /gtk/libglade.override
parent5d9395d407bd66ee9f5af6e4e405a5b7c5b2c75d (diff)
downloadpygtk-2bef7a99a6c0cdba97ae4593140ecba8af233725.tar.gz
Don't limit to PyDict_Type.
2003-01-16 Johan Dahlin <jdahlin@async.com.br> * gtk/libglade.override (connect_many) Use PyObject_GetAttrString as a fallback. Remove warning. (_wrap_glade_xml_signal_autoconnect): Don't limit to PyDict_Type. S: ----------------------------------------------------------------------
Diffstat (limited to 'gtk/libglade.override')
-rw-r--r--gtk/libglade.override23
1 files changed, 14 insertions, 9 deletions
diff --git a/gtk/libglade.override b/gtk/libglade.override
index 035c66aa..ddcc23ee 100644
--- a/gtk/libglade.override
+++ b/gtk/libglade.override
@@ -98,13 +98,15 @@ connect_many(const gchar *handler_name, GObject *obj,
PyObject *tuple, *self;
GClosure *closure = NULL;
- tuple = PyDict_GetItemString(handler_dict, (gchar *)handler_name);
+ tuple = PyMapping_GetItemString(handler_dict, (gchar *)handler_name);
if (!tuple) {
- PyErr_Clear();
- g_warning("could not find handler `%s'", handler_name);
- return;
+ tuple = PyObject_GetAttrString(handler_dict, (gchar *)handler_name);
+ if (!tuple) {
+ PyErr_Clear();
+ return;
+ }
}
-
+
if (PyTuple_Check(tuple)) {
PyObject *callback = PyTuple_GetItem(tuple, 0);
PyObject *extra = PySequence_GetSlice(tuple, 1, PyTuple_Size(tuple));
@@ -139,13 +141,16 @@ _wrap_glade_xml_signal_autoconnect(PyGObject *self, PyObject *args,
PyObject *kwargs)
{
static char *kwlist[] = { "dict", NULL };
- PyObject *dict;
+ PyObject *object;
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
- "O!:GladeXML.signal_autoconnect", kwlist,
- &PyDict_Type, &dict))
+ "O:GladeXML.signal_autoconnect", kwlist,
+ &object))
return NULL;
- glade_xml_signal_autoconnect_full(GLADE_XML(self->obj), connect_many,dict);
+
+ glade_xml_signal_autoconnect_full(GLADE_XML(self->obj),
+ connect_many,
+ object);
Py_INCREF(Py_None);
return Py_None;
}