]> git.deb.at Git - pkg/abook.git/blobdiff - list.c
Fixed a nasty bug
[pkg/abook.git] / list.c
diff --git a/list.c b/list.c
index 6cb8ed791b8bd71065d62cd63657e7387cd50210..faf3ae80f80a1cd7577e992b90e13518e8413aa4 100644 (file)
--- a/list.c
+++ b/list.c
@@ -9,8 +9,8 @@
 
 #include <stdio.h>
 #include <string.h>
-#include <assert.h>
 #include "abook.h"
+#include <assert.h>
 #include "ui.h"
 #include "database.h"
 #include "edit.h"
@@ -109,19 +109,14 @@ refresh_list()
         for( line = 0, i = first_list_item ; i <= LAST_LIST_ITEM && i < items;
                        line++, i++ ) {
 
-               if(i == curitem)
-                       highlight_line(list, line);
-               
-               print_list_line(i, line);
-
-               wstandend(list);
+               print_list_line(i, line, i == curitem);
         }
 
         wrefresh(list);
 }
 
 void
-print_list_line(int i, int line)
+print_list_line(int i, int line, int highlight)
 {
        int extra = extra_column;
        char tmp[MAX_EMAILSTR_LEN];
@@ -129,6 +124,8 @@ print_list_line(int i, int line)
                EMAILLEN : COLS - EMAILPOS;
 
        scrollok(list, FALSE);
+       if(highlight)
+               highlight_line(list, line);
 
        if( selected[i] )
                mvwaddch(list, line, 0, '*' );
@@ -150,6 +147,8 @@ print_list_line(int i, int line)
                                EXTRALEN);
 
        scrollok(list, TRUE);
+       if(highlight)
+               wstandend(list);
 }