diff options
Diffstat (limited to 'calendar/gui/e-comp-editor-registry.c')
-rw-r--r-- | calendar/gui/e-comp-editor-registry.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/calendar/gui/e-comp-editor-registry.c b/calendar/gui/e-comp-editor-registry.c index 4385cb1a84..46548a57c6 100644 --- a/calendar/gui/e-comp-editor-registry.c +++ b/calendar/gui/e-comp-editor-registry.c @@ -171,15 +171,16 @@ foreach_close_cb (gpointer key, gpointer value, gpointer data) gtk_signal_disconnect_by_data (GTK_OBJECT (rdata->editor), data); comp_editor_focus (rdata->editor); - comp_editor_close (rdata->editor); - + if (!comp_editor_close (rdata->editor)) + return FALSE; + g_free (rdata->uid); g_free (rdata); return TRUE; } -void +gboolean e_comp_editor_registry_close_all (ECompEditorRegistry *reg) { ECompEditorRegistryPrivate *priv; @@ -190,6 +191,10 @@ e_comp_editor_registry_close_all (ECompEditorRegistry *reg) priv = reg->priv; g_hash_table_foreach_remove (priv->editors, foreach_close_cb, reg); + if (g_hash_table_size (priv->editors) != 0) + return FALSE; + + return TRUE; } static void |