aboutsummaryrefslogtreecommitdiffstats
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
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.
-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);