aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog4
-rw-r--r--mail/mail-local.c10
2 files changed, 10 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 5121d6daf8..8984fe4adc 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,9 @@
2000-12-06 Dan Winship <danw@helixcode.com>
+ * mail-local.c (cleanup_register_folder): Run the folder_changed
+ code on message_changed as well, so the unread message counts
+ update as messages are read.
+
* folder-browser.c: Remove bits of filter-on-demand and toolbar
bug workaround cruft that don't do anything useful any more.
diff --git a/mail/mail-local.c b/mail/mail-local.c
index cc34a61a7d..0eff59e77d 100644
--- a/mail/mail-local.c
+++ b/mail/mail-local.c
@@ -651,14 +651,13 @@ local_folder_changed (CamelObject *object, gpointer event_data,
}
static void
-local_folder_changed_proxy (CamelObject *object, gpointer event_data,
+local_folder_changed_proxy (CamelObject *folder, gpointer event_data,
gpointer user_data)
{
- CamelFolder *folder = CAMEL_FOLDER (object);
int unread;
- unread = camel_folder_get_unread_message_count (folder);
- mail_op_forward_event (local_folder_changed, object,
+ unread = camel_folder_get_unread_message_count (CAMEL_FOLDER (folder));
+ mail_op_forward_event (local_folder_changed, folder,
GINT_TO_POINTER (unread), user_data);
}
@@ -721,6 +720,9 @@ cleanup_register_folder (gpointer in_data, gpointer op_data,
camel_object_hook_event (CAMEL_OBJECT (local_folder->folder),
"folder_changed", local_folder_changed_proxy,
local_folder);
+ camel_object_hook_event (CAMEL_OBJECT (local_folder->folder),
+ "message_changed", local_folder_changed_proxy,
+ local_folder);
unread = local_folder->last_unread;
local_folder->last_unread = 0;
local_folder_changed (CAMEL_OBJECT (local_folder->folder),