Thanks for your reply Richard.
Yes, I know that. I thought Scanning() was a lower level than the gtk window and thus the StartScan_active() would exit before the mainloop would add Scanning() and then only execute Scanning() when nothing else (signals) was active.
I was also asking about the GLib-CRITICAL stuff on exiting Scanning(). Ian.
On 01/20/2015 03:34 PM, richard boaz wrote:
hi,richard
you are calling the function Scanning() in the g_idle_add() call.
On Tue, Jan 20, 2015 at 3:23 PM, Ian Chapman <ichapman videotron ca> wrote:
Hi all,
Sorry to bother but I'm lost with the workings of
guint g_idle_add ()My code is as followsextern "C"
void on_StartScan_activate() //from gtk menu item
{ printf("Start Scan Activated. \n");
scan_on_fg =1;
Scanning_lvl = g_idle_add((GSourceFunc) Scanning(), (gpointer) 0);
printf("Exiting StartScan.\n"); //main.cpp, Line 129
return; }
I get to Scanning() okay but I don't exit on_StartScan_activeat() until I exit Scanning() (not what I expected).
Worse still when I step through Scanning as I exit I get
(gdb) next
(main:24011): GLib-CRITICAL **: g_idle_add_full: assertion `function != NULL' failed
on_StartScan_activate () at main.cpp:129
(gdb) next
Exiting StartScan.
guint Scanning(void)
{
while(1 == scan_on_fg)
{ //Bean counting with rest of GUI in control, I hoped. }
return(FALSE); //Remove this thread.
}
Regards Ian.
_______________________________________________
gtk-list mailing list
gtk-list gnome org
https://mail.gnome.org/mailman/listinfo/gtk-list