From 01a3fd26cdcbafa04e0d67d2be5d8dfb91a2c09b Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 3 Dec 2012 18:32:46 +0100 Subject: =?UTF-8?q?Bug=20#687503=20-=20Improve=20error=20message=20=C2=BBF?= =?UTF-8?q?ailed=20to=20refresh=20folders=C2=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mail/mail-send-recv.c | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'mail/mail-send-recv.c') diff --git a/mail/mail-send-recv.c b/mail/mail-send-recv.c index 7d4ebdaa1b..3118bf7a72 100644 --- a/mail/mail-send-recv.c +++ b/mail/mail-send-recv.c @@ -1046,18 +1046,33 @@ refresh_folders_exec (struct _refresh_folders_msg *m, E_MAIL_SESSION (m->info->session), m->folders->pdata[i], 0, cancellable, &local_error); - if (folder) { - if (camel_folder_synchronize_sync (folder, FALSE, cancellable, &local_error)) - camel_folder_refresh_info_sync (folder, cancellable, &local_error); - g_object_unref (folder); - } + if (folder && camel_folder_synchronize_sync (folder, FALSE, cancellable, &local_error)) + camel_folder_refresh_info_sync (folder, cancellable, &local_error); if (local_error != NULL) { - if (!g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) - g_warning ("Failed to refresh folder: %s: %s", (const gchar *) m->folders->pdata[i], local_error->message); + if (!g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { + const gchar *account_name = NULL, *full_name; + + if (folder) { + CamelStore *store = camel_folder_get_parent_store (folder); + + account_name = camel_service_get_display_name (CAMEL_SERVICE (store)); + full_name = camel_folder_get_full_name (folder); + } else + full_name = (const gchar *) m->folders->pdata[i]; + + g_warning ("Failed to refresh folder '%s%s%s': %s", + account_name ? account_name : "", + account_name ? ": " : "", + full_name, local_error->message); + } + g_clear_error (&local_error); } + if (folder) + g_object_unref (folder); + if (g_cancellable_is_cancelled (m->info->cancellable) || g_cancellable_is_cancelled (cancellable)) break; -- cgit v1.2.3