On Tue, Jan 20, 2015 at 7:55 PM, Ian Chapman <ichap...@videotron.ca> wrote:
> Thanks Chris, > I think that not only is my code broken my idea on how to do what I > want is broken. I must fix that before I start on the code. > > My starting point was two button, scan off and scan on in glade. Scan > on sets a flag and it scans til the off button is pressed. So the off > button could not be pressed til end-of-scan, a situation commonly known as > a deadly embrace in hardware design. After that g_idle_add() was pointed > out to me and I've been innovating rather blindly ever since. > > I interpreted g_idle_add() as inserting Scanning() into the main loop > and if Scanning returned FALSE it was removed from the main loop. So I > guess I'm not understanding the following explanation of > guint g_idle_add(GSourceFunc function, gpointer data); :- > it is worse than this. you don't understand the difference between naming a function and calling a function. consider the following code: gboolean foo() { return FALSE; } foo; /* names foo */ foo(); /* calls foo */ g_idle_add (foo, NULL); /* adds foo to the idle part of the main event loop */ g_idle_add (foo(), NULL); /* calls foo and adds its return value, FALSE (aka 0 or NULL) to the idle loop */
_______________________________________________ gtk-list mailing list gtk-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-list