summaryrefslogtreecommitdiff
path: root/gtkplaylist.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2009-08-15 17:35:18 +0200
committerGravatar waker <wakeroid@gmail.com>2009-08-15 17:35:18 +0200
commit79c4d58c3eee5a3e17185fc62aa58d341ed5694b (patch)
tree3ae45685bb66de1ea6ca92f24a49141f0f9cabf7 /gtkplaylist.c
parent1fee2a483e1a8677825fd75f3a436ce17d92dfb9 (diff)
fixed redraw bug after adding files/dir to playlist
Diffstat (limited to 'gtkplaylist.c')
-rw-r--r--gtkplaylist.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtkplaylist.c b/gtkplaylist.c
index 3812a3fe..d015da00 100644
--- a/gtkplaylist.c
+++ b/gtkplaylist.c
@@ -1382,6 +1382,8 @@ gtkpl_add_dir (gtkplaylist_t *ps, char *folder) {
GDK_THREADS_ENTER();
gtk_widget_destroy (d);
gtk_widget_set_sensitive (mainwin, TRUE);
+ // invalidate entire cache - slow, but rare
+ memset (ps->fmtcache, 0, sizeof (int16_t) * 3 * pl_ncolumns * ps->nvisiblerows);
gtkpl_setup_scrollbar (ps);
GtkWidget *widget = ps->playlist;
gtkpl_draw_playlist (ps, 0, 0, widget->allocation.width, widget->allocation.height);
@@ -1415,6 +1417,8 @@ gtkpl_add_files (gtkplaylist_t *ps, GSList *lst) {
GDK_THREADS_ENTER();
gtk_widget_destroy (d);
gtk_widget_set_sensitive (mainwin, TRUE);
+ // invalidate entire cache - slow, but rare
+ memset (ps->fmtcache, 0, sizeof (int16_t) * 3 * pl_ncolumns * ps->nvisiblerows);
gtkpl_setup_scrollbar (ps);
GtkWidget *widget = ps->playlist;
gtkpl_draw_playlist (ps, 0, 0, widget->allocation.width, widget->allocation.height);