Re: gtk_main_quit() and destruction
- From: Owen Taylor <otaylor redhat com>
- To: Hrvoje Niksic <hniksic srce hr>
- Cc: gtk-list redhat com
- Subject: Re: gtk_main_quit() and destruction
- Date: 18 Feb 1999 11:22:24 -0500
Hrvoje Niksic <hniksic@srce.hr> writes:
> Owen Taylor <otaylor@redhat.com> writes:
> 
> > Well, the easiest way is just to insert your cleanup calls
> > immediately after your call to gtk_main(). When you call
> > gtk_main_quit(), the gtk_main() will exit and return to your code.
> 
> I know I can clean things up after gtk_main() returns, but then I have 
> to explicitly keep track of what to remove.  For example, I currently
> use (if you'll excuse my Python):
> 
>     window.connect ("destroy", self.goodbye_cruel_world)
> 
> To simulate gtk_main_quit()-friendly equivalent functionality, I'd
> have to add something like:
> 
>     # Global variable
>     windows_to_be_cleaned_up = []
> 
>     ...
> 
>     windows_to_be_cleaned_up.append (window)
> 
> And then make sure I destroy all the windows after gtk_main_loop()
> quits, as well as making sure entries get deleted from
> `windows_to_be_cleaned_up' within their respective "destroy"
> callbacks.  This might be quite a bit of work in C.
> 
> Don't get me wrong: this is not /hard/ to do, but it's very
> inelegant.  I hoped someone would point me to a signal that gets
> invoked upon gtk_main_quit().  It looked obvious to me that there has
> to be one because I use gtk_main_quit() to exit the whole thing.  Now
> it is no longer as obvious.
 
> Still, it would be nice if I were able to say:
> 
>     window.connect ("destroy",        self.goodbye_cruel_world)
>     window.connect ("main_loop_quit", self.goodbye_cruel_world)
> 
> ...or, if I were able to explain to gtk_main_quit() that I really want 
> everything to be destroyed.
Well, you can use:
guint	   gtk_quit_add		   (guint	       main_level,
				    GtkFunction	       function,
				    gpointer	       data);
main_level here would be 0, since you are exiting the outermost
main loop.
Regards,
                                        Owen
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]