diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2009-09-13 21:25:08 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2009-09-13 21:25:08 +0200 |
commit | 3d2d5dfbab8fbf21ec15f723b5f774f614dcf4e8 (patch) | |
tree | 2f9909f5614c1e201f3227cc79e5d79067a388e7 /gtkplaylist.c | |
parent | 727c0b1acdf014b873ae5ec7a3c33a8145f4a172 (diff) |
bump to 0.2.2.1
Diffstat (limited to 'gtkplaylist.c')
-rw-r--r-- | gtkplaylist.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gtkplaylist.c b/gtkplaylist.c index a3accbb1..a25c1bb3 100644 --- a/gtkplaylist.c +++ b/gtkplaylist.c @@ -176,8 +176,8 @@ gtkpl_setup_hscrollbar (gtkplaylist_t *ps) { void gtkpl_redraw_pl_row_novis (gtkplaylist_t *ps, int row, playItem_t *it) { draw_begin ((uintptr_t)ps->backbuf); + gtkpl_draw_pl_row_back (ps, row, it); if (it) { - gtkpl_draw_pl_row_back (ps, row, it); gtkpl_draw_pl_row (ps, row, it); } draw_end (); @@ -670,16 +670,18 @@ gtkpl_scroll (gtkplaylist_t *ps, int newscroll) { gdk_draw_drawable (ps->backbuf, widget->style->black_gc, ps->backbuf, 0, d * rowheight, 0, 0, widget->allocation.width, widget->allocation.height-d * rowheight); int i; ps->scrollpos = newscroll; - for (i = ps->nvisiblerows-d; i <= ps->nvisiblerows; i++) { - gtkpl_redraw_pl_row (ps, i+ps->scrollpos, gtkpl_get_for_idx (ps, i+ps->scrollpos)); + int start = ps->nvisiblerows-d-1; + start = max (0, ps->nvisiblerows-d-1); + for (i = start; i <= ps->nvisiblerows; i++) { + gtkpl_redraw_pl_row_novis (ps, i+ps->scrollpos, gtkpl_get_for_idx (ps, i+ps->scrollpos)); } } else { gdk_draw_drawable (ps->backbuf, widget->style->black_gc, ps->backbuf, 0, 0, 0, d*rowheight, widget->allocation.width, widget->allocation.height); ps->scrollpos = newscroll; int i; - for (i = 0; i <= d; i++) { - gtkpl_redraw_pl_row (ps, i+ps->scrollpos, gtkpl_get_for_idx (ps, i+ps->scrollpos)); + for (i = 0; i <= d+1; i++) { + gtkpl_redraw_pl_row_novis (ps, i+ps->scrollpos, gtkpl_get_for_idx (ps, i+ps->scrollpos)); } } } |