Hi,

I have a cell renderer written in python which derives from
gtk.GenericCellRenderer.  When I run my program with gtk.threads_init(),
python crashes when I try to set a property on the cell renderer.  It
dies in a call to PyObject_CallMethod().  For other crashes I've seen
like this, wrapping the calls in
pyg_block_threads()/pyg_unblock_threads() fixes the problem, but when I
try it this time, I get:

Fatal Python error: PyThreadState_Get: no current thread

The program crashes in gobjectmodule.c:pyg_object_set_property(), trying
to call my object's do_set_property() method.  I noticed that
pygtkcellrenderer.c doesn't overload the set_property() and
get_property() methods on GObjectClass.  Maybe it should call
pyg_block_threads() and chain up to its parent?  I'll try it and send a
patch if it works.

Here's are a few frames from the stack trace:

#8  0x40018861 in _r_debug ()
   from /opt/pygtk/lib/python2.2/site-packages/gtk-2.0/gobjectmodule.so
#9  0x401a7e37 in g_object_set_property (object=0x8424e88, 
    property_name=0x84255e8 "value", value=0xbfffd0f0) at gobject.c:571
#10 0x404656b0 in gtk_tree_view_column_cell_set_cell_data (
    tree_column=0x8425540, tree_model=0x841fe80, iter=0xbfffd1e0, 
    is_expander=0, is_expanded=0) at gtktreeviewcolumn.c:2270

Joe
_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to