aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers/mbox
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers/mbox')
-rw-r--r--camel/providers/mbox/camel-mbox-folder.c7
-rw-r--r--camel/providers/mbox/camel-mbox-summary.c2
2 files changed, 8 insertions, 1 deletions
diff --git a/camel/providers/mbox/camel-mbox-folder.c b/camel/providers/mbox/camel-mbox-folder.c
index 9d405bd1db..460b970ca7 100644
--- a/camel/providers/mbox/camel-mbox-folder.c
+++ b/camel/providers/mbox/camel-mbox-folder.c
@@ -842,6 +842,7 @@ static void
message_changed(CamelMimeMessage *m, int type, CamelMboxFolder *mf)
{
CamelMessageInfo *info;
+ CamelFlag *flag;
printf("Message changed: %s: %d\n", m->message_uid, type);
switch (type) {
@@ -849,6 +850,12 @@ message_changed(CamelMimeMessage *m, int type, CamelMboxFolder *mf)
info = camel_folder_summary_uid((CamelFolderSummary *)mf->summary, m->message_uid);
if (info) {
info->flags = m->flags | CAMEL_MESSAGE_FOLDER_FLAGGED;
+ camel_flag_list_free(&info->user_flags);
+ flag = m->user_flags;
+ while (flag) {
+ camel_flag_set(&info->user_flags, flag->name, TRUE);
+ flag = flag->next;
+ }
camel_folder_summary_touch((CamelFolderSummary *)mf->summary);
} else
g_warning("Message changed event on message not in summary: %s", m->message_uid);
diff --git a/camel/providers/mbox/camel-mbox-summary.c b/camel/providers/mbox/camel-mbox-summary.c
index dac2694f4c..46b180e999 100644
--- a/camel/providers/mbox/camel-mbox-summary.c
+++ b/camel/providers/mbox/camel-mbox-summary.c
@@ -117,7 +117,7 @@ camel_mbox_summary_init (CamelMboxSummary *obj)
s->content_info_size = sizeof(CamelMboxMessageContentInfo);
/* and a unique file version */
- s->version = CAMEL_MBOX_SUMMARY_VERSION;
+ s->version += CAMEL_MBOX_SUMMARY_VERSION;
}
static void