On Mon, 2005-02-21 at 10:37 +1100, Brad Tonkes wrote:
>On Fri, 18 Feb 2005, Johan Dahlin wrote:
>
>> Brad Tonkes wrote:
>> >Hi,
>> >
>> >I've recently encountered some problems with threads in a (python) gnome
>> >panel applet.  My problem is that any spawned threads don't seem to get
>> >
>> >
>> Don't use threads together with the panel applet code.
>> Neither ORBit, bonobo, nor orbit-python is thread safe. And the pygtk
>> code is less than perfect when it comes to threads.
>> I'd really advise you to use something other than threads.
>
>Since I have am interfacing with a threaded, third party networking
>library I have only two options: (1) use threading, (2) fork a process
>and communicate using pipes or shared mem.  Solution (2) is ugly and
>potentially less portable than solution (1).  Solution (1) is
>straightforward: I am careful to only perform gtk/gnome operations
>within the mainloop thread, and the gtk-only version works perfectly, as
>did my gnome panel applet in the 1.x days and as of a few weeks ago in
>2.x (x >= 2).  Moreover, it is working just fine (for someone else) on
>Fedora core 2 (pygtk 2.2.0, gnome-python 2.0.0).


  Just filed http://bugzilla.gnome.org/show_bug.cgi?id=168057

  I think it's a miracle it worked in gnome-python 2.0.0.

  One more thing.  Due to a bug in libpanel-applet
(http://bugzilla.gnome.org/show_bug.cgi?id=150122), you can't subclass
Applet.  Or, you can create a python subclass, but not a GObject
subclass.  So I suggest you: 1) don't call gobject.type_register(), 2)
in __init__, call the parent constructor as
gnome.applet.Applet.__init__(self)

  Regards.

-- 
Gustavo J. A. M. Carneiro
<[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
The universe is always one step beyond logic.

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
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