diff options
Diffstat (limited to 'mail/mail-local.c')
-rw-r--r-- | mail/mail-local.c | 16 |
1 files changed, 16 insertions, 0 deletions
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 @@ -338,6 +338,21 @@ mlf_search_free(CamelFolder *folder, GPtrArray *result) } 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) { MailLocalFolder *mlf = MAIL_LOCAL_FOLDER(folder); @@ -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; } |