From 3ced16bfa226cdc03aa6e38552a78976d05ff171 Mon Sep 17 00:00:00 2001 From: 7 Date: Wed, 17 Oct 2001 20:38:15 +0000 Subject: Patch from Danw, Use unread count of -1 to mark unflagged messages. Make 2001-10-17 * providers/imap/camel-imap-store.c (get_folder_info_online): (parse_list_response_as_folder_info): Patch from Danw, Use unread count of -1 to mark unflagged messages. Make sure any folder we dont lookup explicitly is marked as -1. Should fix #9947 and friends. * providers/local/camel-mbox-summary.c (mbox_summary_sync): Only touch the summary if the timestamp or size changed. svn path=/trunk/; revision=13731 --- camel/providers/imap/camel-imap-store.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'camel/providers/imap') diff --git a/camel/providers/imap/camel-imap-store.c b/camel/providers/imap/camel-imap-store.c index 4ad2021c64..6d996ffe9f 100644 --- a/camel/providers/imap/camel-imap-store.c +++ b/camel/providers/imap/camel-imap-store.c @@ -1281,7 +1281,7 @@ parse_list_response_as_folder_info (CamelImapStore *imap_store, fi->url = camel_url_to_string (url, 0); camel_url_free (url); - if (!(flags & IMAP_LIST_FLAG_UNMARKED)) + if (flags & IMAP_LIST_FLAG_UNMARKED) fi->unread_message_count = -1; return fi; @@ -1452,7 +1452,7 @@ get_folder_info_online (CamelStore *store, const char *top, fi->full_name = g_strdup ("INBOX"); fi->name = g_strdup ("INBOX"); fi->url = uri; - fi->unread_message_count = -1; + fi->unread_message_count = 0; g_ptr_array_add (folders, fi); } @@ -1480,7 +1480,7 @@ get_folder_info_online (CamelStore *store, const char *top, */ url = camel_url_new (fi->url, NULL); noselect = url ? camel_url_get_param (url, "noselect") : NULL; - if (fi->unread_message_count != -1 || (noselect && !g_strcasecmp (noselect, "yes"))) { + if (fi->unread_message_count == -1 || (noselect && !g_strcasecmp (noselect, "yes"))) { camel_url_free (url); continue; } @@ -1490,8 +1490,10 @@ get_folder_info_online (CamelStore *store, const char *top, * checking INBOX. */ if ((!(imap_store->parameters & IMAP_PARAM_CHECK_ALL)) - && (g_strcasecmp (fi->name, "INBOX") != 0)) + && (g_strcasecmp (fi->name, "INBOX") != 0)) { + fi->unread_message_count = -1; continue; + } /* For the current folder, poke it to check for new * messages and then report that number, rather than -- cgit v1.2.3