diff options
author | Suman Manjunath <msuman@src.gnome.org> | 2008-09-01 12:22:45 +0800 |
---|---|---|
committer | Suman Manjunath <msuman@src.gnome.org> | 2008-09-01 12:22:45 +0800 |
commit | e9d9c8fcba120d2145617363f13945f494d9575d (patch) | |
tree | 021775b02f29924d53fb99d5139e354332b05582 /mail/mail-folder-cache.c | |
parent | 42eec28fb010f2c24c94a69f7cb0e56f7f74ff16 (diff) | |
download | gsoc2013-evolution-e9d9c8fcba120d2145617363f13945f494d9575d.tar.gz gsoc2013-evolution-e9d9c8fcba120d2145617363f13945f494d9575d.tar.zst gsoc2013-evolution-e9d9c8fcba120d2145617363f13945f494d9575d.zip |
Milan Crha <mcrha@redhat.com> ** Fix for bug #534039 (Make sure search folder's unread count will be tracked properly in a tree even before the folder is opened in the UI).
svn path=/trunk/; revision=36239
Diffstat (limited to 'mail/mail-folder-cache.c')
-rw-r--r-- | mail/mail-folder-cache.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index b610a8a2b5..dce2f9f62b 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -206,6 +206,19 @@ real_flush_updates(void *o, void *event_data, void *data) e_event_emit((EEvent *)e, "folder.changed", (EEventTarget *)t); } + if (CAMEL_IS_VEE_STORE (up->store)) { + /* Normally the vfolder store takes care of the folder_opened event itself, + but we add folder to the noting system later, thus we do not know about + search folders to update them in a tree, thus ensure their changes will + be tracked correctly. */ + CamelFolder *folder = camel_store_get_folder (up->store, up->full_name, 0, NULL); + + if (folder) { + mail_note_folder (folder); + camel_object_unref (folder); + } + } + free_update(up); LOCK(info_lock); |