changeset 1969:d9255c408027

Improve (fix) buffer up 1 when the screen is cleared
author Mikael Berthe <mikael@lilotux.net>
date Fri, 18 Mar 2011 19:48:34 +0100
parents 83d7c7daea6a
children 10eead2ba1b7
files mcabber/mcabber/screen.c
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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