diff options
-rw-r--r-- | mail/ChangeLog | 4 | ||||
-rw-r--r-- | mail/mail-local.c | 10 |
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), |