aboutsummaryrefslogtreecommitdiffstats
path: root/libemail-engine/e-mail-folder-utils.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-02-11 23:38:29 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-02-11 23:38:29 +0800
commit3b11207dcbd01b5a18f93a406d267bb786829471 (patch)
tree0099cd20b25125d0473538126664f84526ca92ce /libemail-engine/e-mail-folder-utils.c
parent60d1c3054aa60d02c763538d6b1f16d9d6ab6ade (diff)
downloadgsoc2013-evolution-3b11207dcbd01b5a18f93a406d267bb786829471.tar
gsoc2013-evolution-3b11207dcbd01b5a18f93a406d267bb786829471.tar.gz
gsoc2013-evolution-3b11207dcbd01b5a18f93a406d267bb786829471.tar.bz2
gsoc2013-evolution-3b11207dcbd01b5a18f93a406d267bb786829471.tar.lz
gsoc2013-evolution-3b11207dcbd01b5a18f93a406d267bb786829471.tar.xz
gsoc2013-evolution-3b11207dcbd01b5a18f93a406d267bb786829471.tar.zst
gsoc2013-evolution-3b11207dcbd01b5a18f93a406d267bb786829471.zip
Use camel_service_ref_session().
Diffstat (limited to 'libemail-engine/e-mail-folder-utils.c')
-rw-r--r--libemail-engine/e-mail-folder-utils.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/libemail-engine/e-mail-folder-utils.c b/libemail-engine/e-mail-folder-utils.c
index 5f9ea6a4e5..bd45f35702 100644
--- a/libemail-engine/e-mail-folder-utils.c
+++ b/libemail-engine/e-mail-folder-utils.c
@@ -223,13 +223,13 @@ mail_folder_expunge_pop3_stores (CamelFolder *folder,
parent_store = camel_folder_get_parent_store (folder);
service = CAMEL_SERVICE (parent_store);
- session = camel_service_get_session (service);
+ session = camel_service_ref_session (service);
registry = e_mail_session_get_registry (E_MAIL_SESSION (session));
uids = camel_folder_get_uids (folder);
if (uids == NULL)
- return TRUE;
+ goto exit;
expunging_uids = g_hash_table_new_full (
(GHashFunc) g_str_hash,
@@ -377,6 +377,9 @@ mail_folder_expunge_pop3_stores (CamelFolder *folder,
g_hash_table_destroy (expunging_uids);
+exit:
+ g_object_unref (session);
+
return success;
}
@@ -400,7 +403,7 @@ e_mail_folder_expunge_sync (CamelFolder *folder,
parent_store = camel_folder_get_parent_store (folder);
service = CAMEL_SERVICE (parent_store);
- session = camel_service_get_session (service);
+ session = camel_service_ref_session (service);
uid = camel_service_get_uid (service);
store_is_local = (g_strcmp0 (uid, E_MAIL_SESSION_LOCAL_UID) == 0);
@@ -420,7 +423,8 @@ e_mail_folder_expunge_sync (CamelFolder *folder,
is_local_trash = (folder == local_trash);
g_object_unref (local_trash);
} else {
- return FALSE;
+ success = FALSE;
+ goto exit;
}
}
@@ -434,6 +438,9 @@ e_mail_folder_expunge_sync (CamelFolder *folder,
success = camel_folder_expunge_sync (
folder, cancellable, error);
+exit:
+ g_object_unref (session);
+
return success;
}