(sorry forgot list)
On 3 July 2012 01:50, David Buchan <pdbuc...@yahoo.com> wrote:
> My understanding is that child threads must never alter the UI in any way.
>
> If I have a program which spawns a child thread to download some data and I 
> want to be able to have a dialog pop up should an error occur, is it correct 
> to say that I need an idle function to be running concurrently to monitor 
> some global variable which would contain the status (set by the download 
> thread), and then the idle function would create the dialog pop-up?
>
> Put another way, if only the GTK+ main iteration is allowed to alter the GUI, 
> then how does someone get information out of a child thread and to the UI?

Well from what I hear, g_idle_add offers some form of thread safety so
a child thread can communicate some item of data via a callback
executed in the GUI thread.

The documentation also seems to support this view:
http://developer.gnome.org/glib/2.31/glib-The-Main-Event-Loop.html#glib-The-Main-Event-Loop.description

your child/download thread does the monitoring of the error status and
when an error is found, use g_idle_add to wait some moments and then
communicate the error to a callback.

HTH,
James.
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to