aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-comp-editor-registry.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-comp-editor-registry.c')
-rw-r--r--calendar/gui/e-comp-editor-registry.c11
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