diff options
author | Dan Winship <danw@src.gnome.org> | 2001-08-07 05:19:13 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2001-08-07 05:19:13 +0800 |
commit | 4cbbf6af0bf74b0c850ce9ff6c2e5888eda42483 (patch) | |
tree | ff2445ece666c49071133f7724ed374303a06c13 /camel/providers | |
parent | 0b71da2cf3db0f299599f1dd8e5609574e498985 (diff) | |
download | gsoc2013-evolution-4cbbf6af0bf74b0c850ce9ff6c2e5888eda42483.tar.gz gsoc2013-evolution-4cbbf6af0bf74b0c850ce9ff6c2e5888eda42483.tar.zst gsoc2013-evolution-4cbbf6af0bf74b0c850ce9ff6c2e5888eda42483.zip |
Do a refresh_info on the selected folder before looking at its unread
* providers/imap/camel-imap-store.c (get_folder_info_online): Do a
refresh_info on the selected folder before looking at its unread
count. Should fix bug #4944.
svn path=/trunk/; revision=11710
Diffstat (limited to 'camel/providers')
-rw-r--r-- | camel/providers/imap/camel-imap-store.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index 4f8571bfae..62df070f2a 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -1293,17 +1293,16 @@ get_folder_info_online (CamelStore *store, const char *top, && (g_strcasecmp (fi->name, "INBOX") != 0)) continue; - /* UW will give cached data for the currently selected - * folder. Grr. Well, I guess this also potentially - * saves us one IMAP command. + /* For the current folder, poke it to check for new + * messages and then report that number, rather than + * doing a STATUS command. */ if (imap_store->current_folder && !strcmp (imap_store->current_folder->full_name, fi->full_name)) { + camel_folder_refresh_info (imap_store->current_folder, NULL); fi->unread_message_count = camel_folder_get_unread_message_count (imap_store->current_folder); - continue; - } - - fi->unread_message_count = get_folder_status (imap_store, fi->full_name, "UNSEEN"); + } else + fi->unread_message_count = get_folder_status (imap_store, fi->full_name, "UNSEEN"); } g_ptr_array_free (folders, TRUE); |