hi;
On 14 January 2013 14:53, Phillip Susi <[email protected]> wrote:
> So the official documentation is wrong?
the documentation says:
GTK+ is "thread aware" but not thread safe — it provides a global lock
controlled by gdk_threads_enter()/gdk_threads_leave() which protects
all use of GTK+. That is, only one thread can use GTK+ at any given
time.
You must call gdk_threads_init() before executing any other GTK+ or
GDK functions in a threaded GTK+ program.
[...]
Unfortunately, all of the above documentation holds with the X11
backend only. With the Win32 backend, GDK and GTK+ calls should
not be attempted from multiple threads at all. Combining the GDK lock
with other locks such as the Python global interpreter lock can be
complicated.
-- http://developer.gnome.org/gdk3/stable/gdk3-Threads.html
furthermore, gdk_threads_enter() and gdk_threads_leave() have been
deprecated since GTK+ 3.6.
> I need to return the results of the dialog box so an idle won't work
> for me.
you can raise the dialog from the main thread, and use a condition and
a shared variable to notify the thread with the user-supplied value.
the important thing is that you cannot call GTK functions from a
thread other than the one that called gtk_init()/gtk_main().
ciao,
Emmanuele.
--
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi/
_______________________________________________
gtk-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtk-list