Hey folks,
Got a segfault when I forgot to call __gobject_init__() on an object.
Yes, I'm new to pygtk hacking ;) This check will give a nicer error.
Cheers,
--
Andy Wingo
http://wingolog.org/
? self_obj_null_check.diff
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gnome-python/pygtk/ChangeLog,v
retrieving revision 1.1142
diff -u -r1.1142 ChangeLog
--- ChangeLog 16 Jan 2005 14:47:55 -0000 1.1142
+++ ChangeLog 20 Jan 2005 12:10:27 -0000
@@ -1,3 +1,9 @@
+2005-01-20 Andy Wingo <[EMAIL PROTECTED]>
+
+ * gobject/pygobject.c (pygobject_connect): If self->obj is NULL,
+ remind the user that they need to __gobject_init__ instead of
+ segfaulting.
+
2005-01-16 Gustavo J. A. M. Carneiro <[EMAIL PROTECTED]>
* gobject/gobjectmodule.c (pyg_type_register): Use tp_base field
Index: gobject/pygobject.c
===================================================================
RCS file: /cvs/gnome/gnome-python/pygtk/gobject/pygobject.c,v
retrieving revision 1.39
diff -u -r1.39 pygobject.c
--- gobject/pygobject.c 27 Nov 2004 19:12:34 -0000 1.39
+++ gobject/pygobject.c 20 Jan 2005 12:10:28 -0000
@@ -793,6 +793,10 @@
PyErr_SetString(PyExc_TypeError, "second argument must be callable");
return NULL;
}
+ if (!self->obj) {
+ PyErr_SetString(PyExc_TypeError, "uninitialized gobject! call __gobject_init__() first");
+ return NULL;
+ }
if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj),
&sigid, &detail, TRUE)) {
PyErr_SetString(PyExc_TypeError, "unknown signal name");
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/