Hi, I've been reading some conflicting advice on PyGTK and threading recently, probably because the API went through some fairly rapid changes recently.
I'm a bit confused about the following points (consider them in context of PyGTK/PyGObject unstable, ie. 2.17/2.21 respectively): 1. If I want to do async activity in a new Python thread spawned from the main loop, I need to have called glib.threads_init() *before* starting the main loop, right? But what about gtk.gdk.threads_init()? 2. Any GTK interaction, such as emitting a signal from this new thread, must be either: a. done via glib.idle_add (if I'm happy to let GTK do it whenever it next feels like it), -OR- b. wrapped in gtk.gdk.threads_enter()/...leave(), -OR- c. in a "with: gtk.gdk.lock:" block (equivalent to 2.b) 3. I don't need to do the threads_enter/leave (or use the context manager) if I only use glib.idle_add (or timeout_add, etc) Cheers, Jason _______________________________________________ pygtk mailing list pygtk@daa.com.au http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://faq.pygtk.org/