Fix unread count updates in folder tree.
authorSrinivasa Ragavan <sragavan@novell.com>
Sun, 27 Jul 2008 19:05:40 +0000 (19:05 +0000)
committerSrinivasa Ragavan <sragavan@src.gnome.org>
Sun, 27 Jul 2008 19:05:40 +0000 (19:05 +0000)
2008-07-27  Srinivasa Ragavan  <sragavan@novell.com>

* camel/camel-folder-summary.c: Fix unread count updates in folder
tree.

2008-07-27  Srinivasa Ragavan  <sragavan@novell.com>

* camel/providers/imap/camel-imap-folder.c: Fix unread count issue
with imap providers.

svn path=/trunk/; revision=9200

camel/ChangeLog
camel/camel-folder-summary.c
camel/providers/imap/ChangeLog
camel/providers/imap/camel-imap-folder.c

index 1dc356d..166b9da 100644 (file)
@@ -1,3 +1,8 @@
+2008-07-27  Srinivasa Ragavan  <sragavan@novell.com>
+
+       * camel/camel-folder-summary.c: Fix unread count updates in folder
+       tree. 
+
 2008-07-27  Frederic Peters  <fpeters@0d.be>
 
        ** Fix for bug #544963
index a76ad96..4c29b57 100644 (file)
@@ -4333,14 +4333,6 @@ info_set_flags(CamelMessageInfo *info, guint32 flags, guint32 set)
        if (((old & ~CAMEL_MESSAGE_SYSTEM_MASK) == (mi->flags & ~CAMEL_MESSAGE_SYSTEM_MASK)) && !((set & CAMEL_MESSAGE_JUNK_LEARN) && !(set & CAMEL_MESSAGE_JUNK)))
                return FALSE;
 
-       if (mi->summary && mi->summary->folder && mi->uid) {
-               CamelFolderChangeInfo *changes = camel_folder_change_info_new();
-
-               camel_folder_change_info_change_uid(changes, camel_message_info_uid(info));
-               camel_object_trigger_event(mi->summary->folder, "folder_changed", changes);
-               camel_folder_change_info_free(changes);
-       }
-
        if (mi->summary) {
                if (read)
                        mi->summary->unread_count -= read;
@@ -4354,6 +4346,16 @@ info_set_flags(CamelMessageInfo *info, guint32 flags, guint32 set)
                        mi->summary->visible_count -= junk ? junk : deleted;
        }
 
+       if (mi->summary && mi->summary->folder && mi->uid) {
+               CamelFolderChangeInfo *changes = camel_folder_change_info_new();
+
+               camel_folder_change_info_change_uid(changes, camel_message_info_uid(info));
+               camel_object_trigger_event(mi->summary->folder, "folder_changed", changes);
+               camel_folder_change_info_free(changes);
+       }
+
+
+
        d(printf("%d %d %d %d %d\n", mi->summary->unread_count, mi->summary->deleted_count, mi->summary->junk_count, mi->summary->junk_not_deleted_count, mi->summary->visible_count));
        return TRUE;
 }
index 6e275c0..6111b6c 100644 (file)
@@ -1,3 +1,8 @@
+2008-07-27  Srinivasa Ragavan  <sragavan@novell.com>
+
+       * camel/providers/imap/camel-imap-folder.c: Fix unread count issue
+       with imap providers.
+
 2008-07-26  Srinivasa Ragavan  <sragavan@novell.com>
 
        * camel/providers/imap/camel-imap-folder.c: Fix compiler warnings.
index a097859..afa4031 100644 (file)
@@ -1133,14 +1133,6 @@ imap_sync_offline (CamelFolder *folder, CamelException *ex)
        if (folder->summary && (folder->summary->flags & CAMEL_SUMMARY_DIRTY) != 0) {
                CamelStoreInfo *si;
 
-               /* Update also summary count info in folder's summary...  */
-               camel_object_get (folder, NULL,
-                                       CAMEL_FOLDER_UNREAD, &folder->summary->unread_count,
-                                       CAMEL_FOLDER_TOTAL, &folder->summary->saved_count,
-                                       CAMEL_FOLDER_DELETED, &folder->summary->deleted_count,
-                                       CAMEL_FOLDER_JUNKED, &folder->summary->junk_count,
-                                       NULL);
-
                /* ... and store's summary when folder's summary is dirty */
                si = camel_store_summary_path ((CamelStoreSummary *)((CamelImapStore *)folder->parent_store)->summary, folder->full_name);
                if (si) {