Re: Thread-generated signals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Michael Ekstrand wrote:
On Tue, 14 Mar 2006 14:04:11 +0100
Nicolas George <nicolas.george@xxxxxx> wrote:

I mean, I have a thread running the Gtk+ main loop of a GUI, and a
second thread doing a very specific work (using libseex and libao, in
my case). When some points of the work of the second thread are
reached, I want some changes in the GUI. I could just use a pair of
gdk_threads_enter() / gdk_threads_leave() and do the update in the
working thread, but I do not find that solution satisfactory. I would
rather have the working thread to just send some sort of signal, and
let the GLib main loop call a callback in the GUI thread as soon as
it is in a safe state. Is there a good way to do this?
[...]
gdk_threads_enter();
g_idle_add(callback, data); /* may need some macros here; I'm a
                             * PyGTK/GTKmm guy, so the C stuff
                             * isn't my forte */
gdk_threads_leave();

Note; no need to hold the gdk lock for this; g_idle_add()
(along with all the apis that operate on the GMainContext
data struct) is safe to call as is.

Cheers,
                     -Tristan
_______________________________________________

gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux