From 37c2570fb37d29b576f70b210e3334cb3d7b04b1 Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Fri, 26 Aug 2005 02:16:17 +0000 Subject: Check for avail. EvWindows when quiting to handle the finalize better, Thu Aug 25 22:13:08 2005 Jonathan Blandford * shell/ev-window.c (ev_window_finalize): Check for avail. EvWindows when quiting to handle the finalize better, #314497 --- diff --git a/ChangeLog b/ChangeLog index 069b0aa..bbd799f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Aug 25 22:13:08 2005 Jonathan Blandford + + * shell/ev-window.c (ev_window_finalize): Check for + avail. EvWindows when quiting to handle the finalize better, + #314497 + 2005-08-26 Nickolay V. Shmyrev * properties/ev-properties-view.c: diff --git a/shell/ev-window.c b/shell/ev-window.c index 0c8139a..c634a07 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -2745,14 +2745,23 @@ zoom_control_changed_cb (EphyZoomAction *action, static void ev_window_finalize (GObject *object) { - GList *windows = gtk_window_list_toplevels (); + gboolean empty = TRUE; + GList *list, *windows; - if (windows == NULL) { - ev_application_shutdown (EV_APP); - } else { - g_list_free (windows); - } + windows = gtk_window_list_toplevels (); + + for (list = windows; list; list = list->next) { + if (EV_IS_WINDOW (list->data)) { + empty = FALSE; + break; + } + } + + if (empty) + ev_application_shutdown (EV_APP); + + g_list_free (windows); G_OBJECT_CLASS (ev_window_parent_class)->finalize (object); } -- cgit v0.9.1