Rocco Rutte:
[apps/madmutt.git] / sidebar.c
index 5089989..b84f033 100644 (file)
--- a/sidebar.c
+++ b/sidebar.c
@@ -207,6 +207,8 @@ void set_curbuffy(char buf[LONG_STRING])
 void set_buffystats (CONTEXT* Context)
 {
   BUFFY* tmp = Incoming;
+  if (!Context)
+    return;
   while (tmp)
   {
     if (strcmp (tmp->path, Context->path) == 0)
@@ -241,6 +243,8 @@ int draw_sidebar(int menu) {
       SidebarWidth = 0;
     } else if(!prev_show_value && option(OPTMBOXPANE)) {
       SidebarWidth = saveSidebarWidth;
+      /* after toggle: force recounting of all mail */
+      mutt_buffy_check(1);
     }
     prev_show_value = option(OPTMBOXPANE);
   }
@@ -330,9 +334,10 @@ BUFFY * exist_prev_new()
 
 void scroll_sidebar(int op, int menu)
 {
-        if(!SidebarWidth) return;
-        if(!CurBuffy) return;
-       BUFFY *tmp;
+  BUFFY *tmp;
+
+  if(!SidebarWidth) return;
+  if(!CurBuffy) return;
 
   switch (op) {
     case OP_SIDEBAR_NEXT:
@@ -341,10 +346,7 @@ void scroll_sidebar(int op, int menu)
       break;
     case OP_SIDEBAR_NEXT_NEW:
       if ( (tmp = exist_next_new()) == NULL)
-      {
-             if (CurBuffy->next == NULL) return;
-             CurBuffy = CurBuffy->next;
-      }
+          return;
       else CurBuffy = tmp;
       break;
     case OP_SIDEBAR_PREV:
@@ -353,10 +355,7 @@ void scroll_sidebar(int op, int menu)
      break;
     case OP_SIDEBAR_PREV_NEW:
       if ( (tmp = exist_prev_new()) == NULL)
-      {
-             if(CurBuffy->prev == NULL) return;
-             CurBuffy = CurBuffy->prev;
-      }
+          return;
       else CurBuffy = tmp;
       break;