]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mailbox_set_subscribed() ignores duplicate changes now.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 28 Apr 2016 23:33:58 +0000 (02:33 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 28 Apr 2016 23:35:20 +0000 (02:35 +0300)
src/lib-storage/mail-storage.c

index 454df24a9bcbabe686e73ce1f5f4f7d084cbf871..5c71eb685434687d3758eadaf2cb119c3abb5e8f 100644 (file)
@@ -1521,6 +1521,12 @@ int mailbox_set_subscribed(struct mailbox *box, bool set)
 {
        if (mailbox_verify_name(box) < 0)
                return -1;
+       if (mailbox_list_iter_subscriptions_refresh(box->list) < 0) {
+               mail_storage_copy_list_error(box->storage, box->list);
+               return -1;
+       }
+       if (mailbox_is_subscribed(box) == set)
+               return 0;
        return box->v.set_subscribed(box, set);
 }