From 0ac20c6064de6f082ac466731e9fee416cb083f4 Mon Sep 17 00:00:00 2001 From: 7 Date: Thu, 27 Sep 2001 22:34:12 +0000 Subject: No such event finalized! Its finalize. (mail_note_store): " 2001-09-27 * mail-folder-cache.c (real_note_folder): No such event finalized! Its finalize. (mail_note_store): " Fixed dan's comment a bit, info != NULL for folder_created, info== NULL for changed. 2001-09-26 * mail-local.c (mlf_set_message_flags): Proxy the set_message_flags call too. Doesn't fix the 'local folder counts dont update' problem, but its more correct. svn path=/trunk/; revision=13200 --- mail/ChangeLog | 16 ++++++++++++++++ mail/mail-folder-cache.c | 18 +++++++++--------- mail/mail-local.c | 16 ++++++++++++++++ 3 files changed, 41 insertions(+), 9 deletions(-) (limited to 'mail') diff --git a/mail/ChangeLog b/mail/ChangeLog index c1b83e0ddd..c4f6f4a882 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,18 @@ +2001-09-27 + + * mail-folder-cache.c (real_note_folder): No such event finalized! + Its finalize. + (mail_note_store): " + + Fixed dan's comment a bit, info != NULL for folder_created, info== + NULL for changed. + +2001-09-26 + + * mail-local.c (mlf_set_message_flags): Proxy the + set_message_flags call too. Doesn't fix the 'local folder counts + dont update' problem, but its more correct. + 2001-09-27 Jeffrey Stedfast * mail-session.c (mail_session_remember_password): Perform a @@ -65,6 +80,7 @@ oaf_active_server_register returns OAF_REG_ALREADY_ACTIVE. >>>>>>> 1.1748 +>>>>>>> 1.1752 2001-09-26 Jeffrey Stedfast * mail-config.c (config_read): Oops, translate the fake account diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c index f6db9e6024..9ccf138a75 100644 --- a/mail/mail-folder-cache.c +++ b/mail/mail-folder-cache.c @@ -84,13 +84,13 @@ static GHashTable *stores; * folders it checks, but it can also return -1 for a folder, meaning * it didn't check, and so you should stick with your previous answer. * - * update_1folder is called from three places: with info == NULL when - * the folder is created, with info == NULL when a changed event is - * emitted, or with info != NULL when doing a get_folder_info. So if - * info is NULL, camel_folder_unread_message_count is correct, and - * if it's not NULL and its unread_message_count isn't -1, then it's - * correct. - */ + * update_1folder is called from three places: with info != NULL when + * the folder is created (or get_folder_info), with info == NULL when + * a folder changed event is emitted. + * + * So if info is NULL, camel_folder_unread_message_count is correct, + * and if it's not NULL and its unread_message_count isn't -1, then + * it's correct. */ static void update_1folder(struct _folder_info *mfi, CamelFolderInfo *info) @@ -227,7 +227,7 @@ real_note_folder(CamelFolder *folder, void *event_data, void *data) camel_object_hook_event((CamelObject *)folder, "folder_changed", folder_changed, mfi); camel_object_hook_event((CamelObject *)folder, "message_changed", folder_changed, mfi); - camel_object_hook_event((CamelObject *)folder, "finalized", folder_finalised, mfi); + camel_object_hook_event((CamelObject *)folder, "finalize", folder_finalised, mfi); camel_object_unref((CamelObject *)folder); } @@ -375,7 +375,7 @@ mail_note_store(CamelStore *store, EvolutionStorage *storage, GNOME_Evolution_St camel_object_hook_event((CamelObject *)store, "folder_created", store_folder_created, NULL); camel_object_hook_event((CamelObject *)store, "folder_deleted", store_folder_deleted, NULL); - camel_object_hook_event((CamelObject *)store, "finalized", store_finalised, NULL); + camel_object_hook_event((CamelObject *)store, "finalize", store_finalised, NULL); } UNLOCK(info_lock); diff --git a/mail/mail-local.c b/mail/mail-local.c index 710a016d91..e0e2c8792c 100644 --- a/mail/mail-local.c +++ b/mail/mail-local.c @@ -337,6 +337,21 @@ mlf_search_free(CamelFolder *folder, GPtrArray *result) camel_object_unref((CamelObject *)f); } +static void +mlf_set_message_flags(CamelFolder *folder, const char *uid, guint32 flags, guint32 set) +{ + MailLocalFolder *mlf = MAIL_LOCAL_FOLDER(folder); + CamelFolder *f; + + LOCAL_FOLDER_LOCK(mlf); + f = mlf->real_folder; + camel_object_ref((CamelObject *)f); + LOCAL_FOLDER_UNLOCK(mlf); + + camel_folder_set_message_flags(mlf->real_folder, uid, flags, set); + camel_object_unref((CamelObject *)f); +} + static void mlf_set_message_user_flag(CamelFolder *folder, const char *uid, const char *name, gboolean value) { @@ -461,6 +476,7 @@ mlf_class_init (CamelObjectClass *camel_object_class) camel_folder_class->search_free = mlf_search_free; camel_folder_class->search_by_expression = mlf_search_by_expression; + camel_folder_class->set_message_flags = mlf_set_message_flags; camel_folder_class->set_message_user_flag = mlf_set_message_user_flag; camel_folder_class->set_message_user_tag = mlf_set_message_user_tag; } -- cgit v1.2.3