diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-07-08 23:04:23 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-09-28 23:35:55 +0800 |
commit | a91eeb647138ee035444cdc3c265fa4e95898f29 (patch) | |
tree | 63b5712bc407630d6ad6e504244e6cc4ebc35a86 /mail/mail-folder-cache.c | |
parent | 2c21832faab43a176dcb37bc2c65e9e3fb55fc9f (diff) | |
download | gsoc2013-evolution-a91eeb647138ee035444cdc3c265fa4e95898f29.tar.gz 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.c | 23 |
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); |