aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-folder-cache.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-07-08 23:04:23 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-09-28 23:35:55 +0800
commita91eeb647138ee035444cdc3c265fa4e95898f29 (patch)
tree63b5712bc407630d6ad6e504244e6cc4ebc35a86 /mail/mail-folder-cache.c
parent2c21832faab43a176dcb37bc2c65e9e3fb55fc9f (diff)
downloadgsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.tar
gsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.tar.gz
gsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.tar.bz2
gsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.tar.lz
gsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.tar.xz
gsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.tar.zst
gsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.zip
Pass GCancellable to Camel.
Diffstat (limited to 'mail/mail-folder-cache.c')
-rw-r--r--mail/mail-folder-cache.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index d12d77ea64..00818a1ef5 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -188,11 +188,16 @@ real_flush_updates (gpointer o, gpointer event_data, gpointer data)
}
if (CAMEL_IS_VEE_STORE (up->store) && !up->remove) {
- /* Normally the vfolder store takes care of the folder_opened event itself,
- but we add folder to the noting system later, thus we do not know about
- search folders to update them in a tree, thus ensure their changes will
- be tracked correctly. */
- CamelFolder *folder = camel_store_get_folder (up->store, up->full_name, 0, NULL);
+ /* Normally the vfolder store takes care of the
+ * folder_opened event itself, but we add folder to
+ * the noting system later, thus we do not know about
+ * search folders to update them in a tree, thus
+ * ensure their changes will be tracked correctly. */
+ CamelFolder *folder;
+
+ /* FIXME camel_store_get_folder() may block. */
+ folder = camel_store_get_folder (
+ up->store, up->full_name, 0, NULL, NULL);
if (folder) {
mail_folder_cache_note_folder (self, folder);
@@ -802,7 +807,8 @@ ping_store_exec (struct _ping_store_msg *m)
online = TRUE;
}
if (online)
- camel_store_noop (m->store, &m->base.error);
+ camel_store_noop (
+ m->store, m->base.cancellable, &m->base.error);
}
static void
@@ -1086,7 +1092,7 @@ mail_folder_cache_get_default (void)
void
mail_folder_cache_note_store (MailFolderCache *self,
CamelStore *store,
- CamelOperation *op,
+ GCancellable *cancellable,
NoteDoneFunc done,
gpointer data)
{
@@ -1143,7 +1149,8 @@ mail_folder_cache_note_store (MailFolderCache *self,
}
} else {
normal_setup:
- ud->id = mail_get_folderinfo (store, op, update_folders, ud);
+ ud->id = mail_get_folderinfo (
+ store, cancellable, update_folders, ud);
}
g_queue_push_tail (&si->folderinfo_updates, ud);