Properly set "seen" and "unseen" flags when moving messages from the new to the old...
authorMark Michelson <mmichelson@digium.com>
Thu, 5 Feb 2009 23:28:19 +0000 (23:28 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 5 Feb 2009 23:28:19 +0000 (23:28 +0000)
(closes issue #13905)
Reported by: jaroth
Patches:
      foldermove_v2.patch uploaded by jaroth (license 50)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173773 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index 1cc1088..8b2fc98 100644 (file)
@@ -5388,9 +5388,12 @@ static int save_to_folder(struct ast_vm_user *vmu, struct vm_state *vms, int msg
        
        ast_debug(3, "Copying sequence %s to mailbox %s\n", sequence, mbox(box));
        ast_mutex_lock(&vms->lock);
+       /* if save to Old folder, put in INBOX as read */
        if (box == OLD_FOLDER) {
                mail_setflag(vms->mailstream, sequence, "\\Seen");
+               mail_clearflag(vms->mailstream, sequence, "\\Unseen");
        } else if (box == NEW_FOLDER) {
+               mail_setflag(vms->mailstream, sequence, "\\Unseen");
                mail_clearflag(vms->mailstream, sequence, "\\Seen");
        }
        if (!strcasecmp(mbox(NEW_FOLDER), vms->curbox) && (box == NEW_FOLDER || box == OLD_FOLDER)) {