From: Richard Russon Date: Wed, 26 Dec 2018 18:10:36 +0000 (+0000) Subject: mbox_sync: use mailbox notifications X-Git-Tag: 2019-10-25~399^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0e73f44d2c27450dac5b9c4c88f6a298a88857e0;p=neomutt mbox_sync: use mailbox notifications --- diff --git a/mbox/mbox.c b/mbox/mbox.c index 7946955ec..f865df460 100644 --- a/mbox/mbox.c +++ b/mbox/mbox.c @@ -1159,7 +1159,7 @@ static int mbox_mbox_sync(struct Context *ctx, int *index_hint) { save_sort = Sort; Sort = SORT_ORDER; - mutt_sort_headers(ctx, false); + mutt_mailbox_changed(m, MBN_RESORT); Sort = save_sort; need_sort = 1; } @@ -1497,7 +1497,7 @@ bail: /* Come here in case of disaster */ { /* if the mailbox was reopened, the thread tree will be invalid so make * sure to start threading from scratch. */ - mutt_sort_headers(ctx, (need_sort == MUTT_REOPENED)); + mutt_mailbox_changed(m, MBN_RESORT); } return rc; diff --git a/nntp/newsrc.c b/nntp/newsrc.c index c1694b7e2..30104912e 100644 --- a/nntp/newsrc.c +++ b/nntp/newsrc.c @@ -294,15 +294,13 @@ int nntp_newsrc_parse(struct NntpAccountData *adata) /** * nntp_newsrc_gen_entries - Generate array of .newsrc entries - * @param ctx Mailbox + * @param m Mailbox */ -void nntp_newsrc_gen_entries(struct Context *ctx) +void nntp_newsrc_gen_entries(struct Mailbox *m) { - if (!ctx || !ctx->mailbox) + if (!m) return; - struct Mailbox *m = ctx->mailbox; - struct NntpMboxData *mdata = m->mdata; anum_t last = 0, first = 1; bool series; @@ -313,7 +311,7 @@ void nntp_newsrc_gen_entries(struct Context *ctx) { save_sort = Sort; Sort = SORT_ORDER; - mutt_sort_headers(ctx, false); + mutt_mailbox_changed(m, MBN_RESORT); } entries = mdata->newsrc_len; @@ -378,7 +376,7 @@ void nntp_newsrc_gen_entries(struct Context *ctx) if (save_sort != Sort) { Sort = save_sort; - mutt_sort_headers(ctx, false); + mutt_mailbox_changed(m, MBN_RESORT); } } diff --git a/nntp/nntp.c b/nntp/nntp.c index 09be2b3a7..29ad5aab1 100644 --- a/nntp/nntp.c +++ b/nntp/nntp.c @@ -2662,7 +2662,7 @@ static int nntp_mbox_sync(struct Context *ctx, int *index_hint) #endif /* save .newsrc entries */ - nntp_newsrc_gen_entries(ctx); + nntp_newsrc_gen_entries(ctx->mailbox); nntp_newsrc_update(mdata->adata); nntp_newsrc_close(mdata->adata); return 0; diff --git a/nntp/nntp_private.h b/nntp/nntp_private.h index 1a25d0a68..daab1555e 100644 --- a/nntp/nntp_private.h +++ b/nntp/nntp_private.h @@ -59,7 +59,7 @@ struct NntpEmailData *nntp_edata_get(struct Email *e); void nntp_group_unread_stat(struct NntpMboxData *mdata); void nntp_hash_destructor_t(int type, void *obj, intptr_t data); void nntp_mdata_free(void **ptr); -void nntp_newsrc_gen_entries(struct Context *ctx); +void nntp_newsrc_gen_entries(struct Mailbox *m); int nntp_open_connection(struct NntpAccountData *adata); void nntp_article_status(struct Mailbox *m, struct Email *e, char *group, anum_t anum);