aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-migrate.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2012-08-09 19:10:47 +0800
committerMatthew Barnes <mbarnes@redhat.com>2012-08-09 19:17:16 +0800
commitc17e5b870e5c03887fa0dc158db382d827775c8c (patch)
tree0fefc0d06529d55f8e31eec9720e535adaaef085 /mail/e-mail-migrate.c
parentae68fa9b843eab73c82cd99fb53cb11a5229a1ce (diff)
downloadgsoc2013-evolution-c17e5b870e5c03887fa0dc158db382d827775c8c.tar.gz
gsoc2013-evolution-c17e5b870e5c03887fa0dc158db382d827775c8c.tar.zst
gsoc2013-evolution-c17e5b870e5c03887fa0dc158db382d827775c8c.zip
migrate_mbox_to_maildir(): Fix a reference counting error.
The ESourceCamel extension owns the CamelSettings instance and the ESource instance owns the ESourceCamel extension. Unreference the ESource AFTER we're done with the CamelSettings.
Diffstat (limited to 'mail/e-mail-migrate.c')
-rw-r--r--mail/e-mail-migrate.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mail/e-mail-migrate.c b/mail/e-mail-migrate.c
index a1bf10f8d9..e2968c1d9f 100644
--- a/mail/e-mail-migrate.c
+++ b/mail/e-mail-migrate.c
@@ -461,16 +461,17 @@ migrate_mbox_to_maildir (EShellBackend *shell_backend,
CAMEL_SESSION (session), "local", "maildir",
CAMEL_PROVIDER_STORE, &error);
- g_object_unref (source);
-
if (error != NULL) {
g_warning ("%s: %s", G_STRFUNC, error->message);
+ g_object_unref (source);
g_error_free (error);
return FALSE;
}
camel_service_set_settings (mbox_service, settings);
+ g_object_unref (source);
+
settings = camel_service_get_settings (maildir_service);
path = g_build_filename (data_dir, "local", NULL);
g_object_set (settings, "path", path, NULL);