aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2008-03-27 20:00:41 +0800
committerMilan Crha <mcrha@src.gnome.org>2008-03-27 20:00:41 +0800
commit027ab19ebf60d31e52286fda76e932ec11363de3 (patch)
tree6582ecb917c63d46628413f224e1348b8c665392
parent262145008cd103afa7b45114c33124bda2797153 (diff)
downloadgsoc2013-evolution-027ab19ebf60d31e52286fda76e932ec11363de3.tar.gz
gsoc2013-evolution-027ab19ebf60d31e52286fda76e932ec11363de3.tar.zst
gsoc2013-evolution-027ab19ebf60d31e52286fda76e932ec11363de3.zip
** Fix for bug #522178
2008-03-27 Milan Crha <mcrha@redhat.com> ** Fix for bug #522178 * mail-folder-cache.c: (folder_changed): Put back hack with checking time of new message in the folder based with last time of new mail as it was before patch in bug #492702. svn path=/branches/gnome-2-22/; revision=35274
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/mail-folder-cache.c7
2 files changed, 14 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 8698c1d788..0e6415ffae 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,13 @@
2008-03-27 Milan Crha <mcrha@redhat.com>
+ ** Fix for bug #522178
+
+ * mail-folder-cache.c: (folder_changed): Put back hack with
+ checking time of new message in the folder based with last
+ time of new mail as it was before patch in bug #492702.
+
+2008-03-27 Milan Crha <mcrha@redhat.com>
+
** Part of fix for bug #519292
* message-list.h: (message_list_set_expand_all):
diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index 417f115999..f45a4934a7 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -389,6 +389,7 @@ create_folders(CamelFolderInfo *fi, struct _store_info *si)
static void
folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
{
+ static time_t last_newmail = 0;
CamelFolderChangeInfo *changes = event_data;
CamelFolder *folder = (CamelFolder *)o;
CamelStore *store = folder->parent_store;
@@ -414,12 +415,16 @@ folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
flags = camel_message_info_flags (info);
if (((flags & CAMEL_MESSAGE_SEEN) == 0) &&
((flags & CAMEL_MESSAGE_JUNK) == 0) &&
- ((flags & CAMEL_MESSAGE_DELETED) == 0))
+ ((flags & CAMEL_MESSAGE_DELETED) == 0) &&
+ (camel_message_info_date_received (info) > last_newmail))
new++;
}
}
}
+ if (new > 0 || !last_newmail)
+ time (&last_newmail);
+
LOCK(info_lock);
if (stores != NULL
&& (si = g_hash_table_lookup(stores, store)) != NULL