Hi,

I can't find any documentation(*) stating positively whether
gobject.idle_add and timeout_add are safe to call from a non-main
thread (e.g. a gstreamer message callback). Specifically,

def work(*args):
  # (1) gtk.gdk.threads_enter() ??
  self.ui.change_some_label()
  # (2) gtk.gdk.threads_leave() ??

# (3) gtk.gdk.threads_enter() ??
gobject.idle_add (work)
# (4) gtk.gdk.threads_leave() ??

Are (1)/(2) and/or (3)/(4) necessary? And for which pygtk versions
does this apply? I am targetting separately 2.12 (on an embedded
platform) and 2.24 (on the desktop).


(*) Except https://developer.gnome.org/gdk/unstable/gdk-Threads.html
which seems to be from 1999 and implies that __for gtk, not pygtk__
the g_idle_add requires both (1)/(2) and (3)/(4). I can't actually
find any recent GTK+ documentation that unambiguously resolves the
issue.

Thanks,
Dan
_______________________________________________
pygtk mailing list   pygtk@daa.com.au
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to