Hi Gus,
many thanks for the reply. I found a solution. I am bound to finishing the
event-loop earlier. Therefore now I do
gtk_widget_destroy(GTK_WIDGET(window));
if(!gtk_main_level()) {
while(gtk_events_pending()) gtk_main_iteration_do(FALSE);
}
ciao
Stefan
Gus Koppel wrote:
Stefan Kost wrote:anyone an idea how it can be that a window do not closes after I do gtk_widget_hide_all(GTK_WIDGET(window)); gtk_widget_destroy(GTK_WIDGET(window)); The event-loop has been exited and a lengthy calculation will start. The window remains open until the application shuts-down. I have registered a signal handler for the window as void sighandler_window_on_destroy(GtkWidget *gtk_widget, gpointer data); via g_signal_connect(GTK_OBJECT(window), "destroy",G_CALLBACK(sighandler_window_on_destroy) ,...); this will be triggered, but the window stays open. I do open and close windows before as well and this works. Does closing a window required a running-event loop? Or has anyone an expalnation for it?I don't know for sure but I would guess so. I think a better strategy is 1. destroy your window 2. let GTK+ process pending events in the main loop 3. exit your GTK+ main loop. Coded it would look something like this: gtk_widget_destroy (GTK_WIDGET (window)); while (gtk_events_pending ()) gtk_main_iteration (); gtk_main_quit (); Btw, destruction automatically involves hiding of widgets. _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list gnome org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
--
\|/ Stefan Kost
<@ @> private business
+-oOO-(_)-OOo------------------------------------------------------ - - - - -
| __ Address Simildenstr. 5 HTWK Leipzig, Fb IMN, Postfach 301166
| /// 04277 Leipzig 04251 Leipzig
| __ /// Germany Germany
| \\\/// Phone +49341 2253538 +49341 30766101
| \__/ EMail st_kost_at_gmx.net kost_at_imn.htwk-leipzig.de
| WWW www.sonicpulse.de www.imn.htwk-leipzig.de/~kost/about.html
===-=-=--=---=---------------------------------- - - - - -
Attachment:
kost.vcf
Description: Vcard