aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-send-recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/mail-send-recv.c')
-rw-r--r--mail/mail-send-recv.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c
index 1670cf04c2..3657cfdfda 100644
--- a/mail/mail-send-recv.c
+++ b/mail/mail-send-recv.c
@@ -1008,17 +1008,18 @@ refresh_folders_exec (struct _refresh_folders_msg *m,
m->folders->pdata[i], 0,
cancellable, &local_error);
if (folder) {
- /* FIXME Not passing a GError here. */
- camel_folder_synchronize_sync (
- folder, FALSE, cancellable, NULL);
- camel_folder_refresh_info_sync (folder, cancellable, NULL);
+ if (camel_folder_synchronize_sync (folder, FALSE, cancellable, &local_error))
+ camel_folder_refresh_info_sync (folder, cancellable, &local_error);
g_object_unref (folder);
- } else if (local_error != NULL) {
+ }
+
+ if (local_error != NULL) {
g_warning ("Failed to refresh folders: %s", local_error->message);
g_clear_error (&local_error);
}
- if (g_cancellable_is_cancelled (m->info->cancellable))
+ if (g_cancellable_is_cancelled (m->info->cancellable) ||
+ g_cancellable_is_cancelled (cancellable))
break;
if (m->info->state != SEND_CANCELLED)