X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-ui%2Fsidebar.c;h=7de8d22ca6a5140651553d754292564bd23062f2;hp=7c7d6b3f79cff3dbbb458a655c9861267bd917b9;hb=17a1c26c692a1863e76dba05db16c4eba6d8abe8;hpb=f6e3352d408b7bbbfb46357b6be2c11f9cf95e35 diff --git a/lib-ui/sidebar.c b/lib-ui/sidebar.c index 7c7d6b3..7de8d22 100644 --- a/lib-ui/sidebar.c +++ b/lib-ui/sidebar.c @@ -190,7 +190,8 @@ static int make_sidebar_entry(WINDOW *sw, char *sbox, int idx, ssize_t len) int l_m = m_strlen(Maildir); if (option(OPTSIDEBARNEWMAILONLY) && sbox && Context && Context->path - && m_strcmp(Context->path, sbox) && Incoming.arr[idx]->new == 0) + && m_strcmp(Context->path, sbox) && Incoming.arr[idx]->new == 0 + && idx != CurBuffy) return 0; m_strformat(no, sizeof(no), len, SidebarNumberFormat, @@ -227,9 +228,9 @@ static int make_sidebar_entry(WINDOW *sw, char *sbox, int idx, ssize_t len) */ const char *sidebar_get_current(void) { - if (!Incoming.len) - return NULL; - return Incoming.arr[CurBuffy]->path; + if (0 <= CurBuffy && CurBuffy < Incoming.len) + return Incoming.arr[CurBuffy]->path; + return NULL; } /* internally sets item to buf */ @@ -244,16 +245,18 @@ void sidebar_set_current(const char* buf) /* fix counters for a context * FIXME since ctx must not be of our business, move it elsewhere */ -void sidebar_set_buffystats (CONTEXT* curContext) { - int i = 0; - BUFFY* tmp = NULL; - if (!curContext || !Incoming.len || (i = buffy_lookup (curContext->path)) < 0) - return; - tmp = Incoming.arr[i]; - tmp->new = curContext->new; - tmp->msg_unread = curContext->unread; - tmp->msgcount = curContext->msgcount; - tmp->msg_flagged = curContext->flagged; +void sidebar_set_buffystats(CONTEXT *curContext) +{ + int i = 0; + BUFFY *tmp; + + if (!curContext || (i = buffy_lookup(curContext->path)) < 0) + return; + tmp = Incoming.arr[i]; + tmp->new = curContext->new; + tmp->msg_unread = curContext->unread; + tmp->msgcount = curContext->msgcount; + tmp->msg_flagged = curContext->flagged; } int sidebar_draw(void)