gtk_main_quit() and destruction
- From: Hrvoje Niksic <hniksic srce hr>
- To: gtk-list redhat com
- Subject: gtk_main_quit() and destruction
- Date: 18 Feb 1999 12:19:09 +0100
When gtk_main_quit() is invoked, are the destruction callbacks
properly called? Specifically, I would expect the "destroy" callback
to be called after gtk_main_quit() is used to kill off the whole
thing.
Take this code: it sets up a window, realizes it, and adds a timeout
that makes sure gtk_main_quit() is called as soon as gtk_main_loop()
is entered. Here I would expect the "destroy" handler to be invoked,
but apparently it isn't.
How do I make sure my "destroy" handler is invoked even in the face of
gtk_main_quit()? I need it to make sure that some cleanups are done
(e.g. processes killed) when the windows associated to them get
destroyed.
Code follows:
#include <gtk/gtk.h>
void
destroy_handler (GtkWidget *ignored, gpointer happily_ignored)
{
g_print ("hi\n"); /* #### This doesn't get printed. */
}
gint
timeout_handler (gpointer ignored)
{
gtk_main_quit ();
return 0;
}
int
main (int argc, char **argv)
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",
GTK_SIGNAL_FUNC (destroy_handler), NULL);
gtk_widget_show (window);
gtk_timeout_add (1, timeout_handler, NULL);
gtk_main ();
return 0;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]