Improve (fix) buffer up 1 when the screen is cleared
authorMikael Berthe <mikael@lilotux.net>
Fri, 18 Mar 2011 19:48:34 +0100
changeset 1969 d9255c408027
parent 1968 83d7c7daea6a
child 1970 10eead2ba1b7
Improve (fix) buffer up 1 when the screen is cleared
mcabber/mcabber/screen.c
--- a/mcabber/mcabber/screen.c	Fri Mar 18 19:39:58 2011 +0100
+++ b/mcabber/mcabber/screen.c	Fri Mar 18 19:48:34 2011 +0100
@@ -2621,6 +2621,7 @@
   hbuf_top = win_entry->bd->top;
 
   if (updown == -1) {   // UP
+    n = 0;
     if (!hbuf_top) {
       hbuf_top = g_list_last(win_entry->bd->hbuf);
       if (!win_entry->bd->cleared) {
@@ -2628,9 +2629,10 @@
         else nbl += CHAT_WIN_HEIGHT - 1;
       } else {
         win_entry->bd->cleared = FALSE;
+        n++; // We'll scroll one line less
       }
     }
-    for (n=0 ; hbuf_top && n < nbl && g_list_previous(hbuf_top) ; n++)
+    for ( ; hbuf_top && n < nbl && g_list_previous(hbuf_top) ; n++)
       hbuf_top = g_list_previous(hbuf_top);
     win_entry->bd->top = hbuf_top;
   } else {              // DOWN