aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-ops.c')
-rw-r--r--mail/mail-ops.c27
1 files changed, 16 insertions, 11 deletions
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 22edd9a6a1..128cb28c9c 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -279,9 +279,11 @@ fetch_mail_exec (struct _fetch_mail_msg *m)
/* this handles 'keep on server' stuff, if we have any new uid's to copy
across, we need to copy them to a new array 'cause of the way fetch_mail_free works */
CamelUIDCache *cache = NULL;
+ CamelStore *parent_store;
gchar *cachename;
- cachename = uid_cachename_hack (folder->parent_store);
+ parent_store = camel_folder_get_parent_store (folder);
+ cachename = uid_cachename_hack (parent_store);
cache = camel_uid_cache_new (cachename);
g_free (cachename);
@@ -605,14 +607,15 @@ mail_send_message (struct _send_queue_msg *m, CamelFolder *queue, const gchar *u
sent_folder = e_mail_local_get_folder (E_MAIL_FOLDER_SENT);
if (folder != sent_folder) {
- const gchar *name;
+ const gchar *description;
- camel_object_get (folder, NULL, CAMEL_OBJECT_DESCRIPTION, (gchar **) &name, 0);
+ description = camel_folder_get_description (folder);
if (err->len)
g_string_append(err, "\n\n");
- g_string_append_printf (err, _("Failed to append to %s: %s\n"
- "Appending to local 'Sent' folder instead."),
- name, camel_exception_get_description (ex));
+ g_string_append_printf (
+ err, _("Failed to append to %s: %s\n"
+ "Appending to local 'Sent' folder instead."),
+ description, camel_exception_get_description (ex));
g_object_ref (sent_folder);
g_object_unref (folder);
folder = sent_folder;
@@ -1486,19 +1489,21 @@ remove_folder_rec (CamelStore *store, CamelFolderInfo *fi, CamelException *ex)
static void
remove_folder_exec (struct _remove_folder_msg *m)
{
- CamelStore *store;
CamelFolderInfo *fi;
+ CamelStore *parent_store;
+ const gchar *full_name;
m->removed = FALSE;
- store = m->folder->parent_store;
+ full_name = camel_folder_get_full_name (m->folder);
+ parent_store = camel_folder_get_parent_store (m->folder);
- fi = camel_store_get_folder_info (store, m->folder->full_name, CAMEL_STORE_FOLDER_INFO_RECURSIVE | CAMEL_STORE_FOLDER_INFO_FAST | CAMEL_STORE_FOLDER_INFO_SUBSCRIBED, &m->base.ex);
+ fi = camel_store_get_folder_info (parent_store, full_name, CAMEL_STORE_FOLDER_INFO_RECURSIVE | CAMEL_STORE_FOLDER_INFO_FAST | CAMEL_STORE_FOLDER_INFO_SUBSCRIBED, &m->base.ex);
if (camel_exception_is_set (&m->base.ex))
return;
- remove_folder_rec (store, fi, &m->base.ex);
- camel_store_free_folder_info (store, fi);
+ remove_folder_rec (parent_store, fi, &m->base.ex);
+ camel_store_free_folder_info (parent_store, fi);
m->removed = !camel_exception_is_set (&m->base.ex);
}