|
Dan Williams |
9cffa6 |
diff --git a/mail/e-mail-backend.c b/mail/e-mail-backend.c
|
|
Dan Williams |
9cffa6 |
index 740cf85..3ab7cbd 100644
|
|
Dan Williams |
9cffa6 |
--- a/mail/e-mail-backend.c
|
|
Dan Williams |
9cffa6 |
+++ b/mail/e-mail-backend.c
|
|
Dan Williams |
9cffa6 |
@@ -226,7 +226,6 @@ mail_backend_poll_to_quit (EActivity *activity)
|
|
Dan Williams |
9cffa6 |
static void
|
|
Dan Williams |
9cffa6 |
mail_backend_ready_to_quit (EActivity *activity)
|
|
Dan Williams |
9cffa6 |
{
|
|
Dan Williams |
9cffa6 |
- camel_shutdown ();
|
|
Dan Williams |
9cffa6 |
emu_free_mail_cache ();
|
|
Dan Williams |
9cffa6 |
|
|
Dan Williams |
9cffa6 |
/* Do this last. It may terminate the process. */
|
|
Dan Williams |
9cffa6 |
@@ -429,6 +428,15 @@ mail_backend_dispose (GObject *object)
|
|
Dan Williams |
9cffa6 |
}
|
|
Dan Williams |
9cffa6 |
|
|
Dan Williams |
9cffa6 |
static void
|
|
Dan Williams |
9cffa6 |
+mail_backend_finalize (GObject *object)
|
|
Dan Williams |
9cffa6 |
+{
|
|
Dan Williams |
9cffa6 |
+ if (G_OBJECT_CLASS (e_mail_backend_parent_class)->finalize)
|
|
Dan Williams |
9cffa6 |
+ G_OBJECT_CLASS (e_mail_backend_parent_class)->finalize (object);
|
|
Dan Williams |
9cffa6 |
+
|
|
Dan Williams |
9cffa6 |
+ camel_shutdown ();
|
|
Dan Williams |
9cffa6 |
+}
|
|
Dan Williams |
9cffa6 |
+
|
|
Dan Williams |
9cffa6 |
+static void
|
|
Dan Williams |
9cffa6 |
mail_backend_constructed (GObject *object)
|
|
Dan Williams |
9cffa6 |
{
|
|
Dan Williams |
9cffa6 |
EMailBackendPrivate *priv;
|
|
Dan Williams |
9cffa6 |
@@ -515,6 +523,7 @@ e_mail_backend_class_init (EMailBackendClass *class)
|
|
Dan Williams |
9cffa6 |
object_class = G_OBJECT_CLASS (class);
|
|
Dan Williams |
9cffa6 |
object_class->get_property = mail_backend_get_property;
|
|
Dan Williams |
9cffa6 |
object_class->dispose = mail_backend_dispose;
|
|
Dan Williams |
9cffa6 |
+ object_class->finalize = mail_backend_finalize;
|
|
Dan Williams |
9cffa6 |
object_class->constructed = mail_backend_constructed;
|
|
Dan Williams |
9cffa6 |
|
|
Dan Williams |
9cffa6 |
shell_backend_class = E_SHELL_BACKEND_CLASS (class);
|
|
Dan Williams |
9cffa6 |
diff --git a/shell/e-shell.c b/shell/e-shell.c
|
|
Dan Williams |
9cffa6 |
index b1891ce..123a975 100644
|
|
Dan Williams |
9cffa6 |
--- a/shell/e-shell.c
|
|
Dan Williams |
9cffa6 |
+++ b/shell/e-shell.c
|
|
Dan Williams |
9cffa6 |
@@ -691,6 +691,7 @@ shell_finalize (GObject *object)
|
|
Dan Williams |
9cffa6 |
if (!unique_app_is_running (UNIQUE_APP (object)))
|
|
Dan Williams |
9cffa6 |
e_file_lock_destroy ();
|
|
Dan Williams |
9cffa6 |
|
|
Dan Williams |
9cffa6 |
+ g_list_foreach (priv->loaded_backends, (GFunc) g_object_unref, NULL);
|
|
Dan Williams |
9cffa6 |
g_list_free (priv->loaded_backends);
|
|
Dan Williams |
9cffa6 |
|
|
Dan Williams |
9cffa6 |
g_free (priv->geometry);
|