aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalle Wallin <kaw@linux.se>2004-04-13 18:36:44 +0000
committerKalle Wallin <kaw@linux.se>2004-04-13 18:36:44 +0000
commit9dff41f8e260ebf532fc9e8e32ba1b1d7d142d9c (patch)
treeea049b6417b52639e227aeb3ae84251ae0d149ff
parent3d53665d2b2f49de64ab15580dcda5942efa33f6 (diff)
downloadmpd-9dff41f8e260ebf532fc9e8e32ba1b1d7d142d9c.tar.gz
mpd-9dff41f8e260ebf532fc9e8e32ba1b1d7d142d9c.tar.xz
mpd-9dff41f8e260ebf532fc9e8e32ba1b1d7d142d9c.zip
Use wclrtoeol instead of wclear in list_window_paint (wclear is slow).
git-svn-id: https://svn.musicpd.org/ncmpc/trunk@732 09075e82-0dd4-0310-85a5-a0d7c8717e4f
-rw-r--r--list_window.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/list_window.c b/list_window.c
index 334f7f6eb..c086fca57 100644
--- a/list_window.c
+++ b/list_window.c
@@ -129,11 +129,6 @@ list_window_paint(list_window_t *lw,
lw->start++;
lw->clear=1;
}
- if( lw->clear )
- {
- wclear(lw->w);
- lw->clear=0;
- }
for(i=0; i<lw->rows; i++)
{
@@ -141,15 +136,17 @@ list_window_paint(list_window_t *lw,
char *label;
label = (callback) (lw->start+i, &highlight, callback_data);
+ wmove(lw->w, i, 0);
+ if( lw->clear )
+ wclrtoeol(lw->w);
if( label )
{
- wmove(lw->w, i, 0);
if( highlight )
wattron(lw->w, A_BOLD);
if( lw->start+i == lw->selected )
wattron(lw->w, A_REVERSE);
- waddnstr(lw->w, label, lw->cols);
+ waddnstr(lw->w, label, lw->cols-1);
if( highlight )
wattroff(lw->w, A_BOLD);
@@ -157,6 +154,7 @@ list_window_paint(list_window_t *lw,
wattroff(lw->w, A_REVERSE);
}
}
+ lw->clear=0;
}