- if (! (tny_header_get_flags (header) & TNY_HEADER_FLAG_SEEN))
- tny_header_set_flag (header, TNY_HEADER_FLAG_SEEN);
- g_object_unref (header);
-
+
+ if (!(tny_header_get_flags (header) & TNY_HEADER_FLAG_SEEN)) {
+ ModestMailOperation *mail_op;
+
+ tny_header_set_flag (header, TNY_HEADER_FLAG_SEEN);
+ /* Sync folder, we need this to save the seen flag */
+ mail_op = modest_mail_operation_new (NULL);
+ modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (),
+ mail_op);
+ modest_mail_operation_sync_folder (mail_op, folder, FALSE);
+ g_object_unref (mail_op);
+ }
+ g_object_unref (header);