how to fully quit out of recursive main loops?



how do i exit from all glib main loops? calling g_main_quit (via
gtk_main_quit) won't work, because it only marks the current loop as
not running. i don't see anything in glib that will exit all loops,
and so its hard to see how, without using setjmp/longjmp (ick!) to
write a function that will return from running GTK/glib's main loops
now matter how deeply nested we are.

why would i want to? imagine the user takes some steps to invoke
a "quit" function. if there are nested main loops (e.g to run a
dialog), gtk_main_quit() won't work as a way to return control to
whatever called gtk_main_run() at the top level.

ideas?

--p



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