diff options
Diffstat (limited to 'camel/providers')
-rw-r--r-- | camel/providers/mbox/camel-mbox-folder.c | 7 | ||||
-rw-r--r-- | camel/providers/mbox/camel-mbox-summary.c | 2 |
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 |