summaryrefslogtreecommitdiff
path: root/plugins/gtkui/gtkplaylist.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-20 15:11:18 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-20 15:11:18 +0100
commitf35922ae85f82b939b93a8d38fd5a91e4504fe35 (patch)
tree079e6abc631de34fbbfc30bbe44f26a3a9464f39 /plugins/gtkui/gtkplaylist.c
parent759a59968c30d5e155f13a68aca9301a3eba11a7 (diff)
fixed seekbar redraw bug after end of playlist
added "stop after current track" menu item and hotkey
Diffstat (limited to 'plugins/gtkui/gtkplaylist.c')
-rw-r--r--plugins/gtkui/gtkplaylist.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/gtkui/gtkplaylist.c b/plugins/gtkui/gtkplaylist.c
index 663ec76a..f6add405 100644
--- a/plugins/gtkui/gtkplaylist.c
+++ b/plugins/gtkui/gtkplaylist.c
@@ -1917,12 +1917,26 @@ update_win_title_idle (gpointer data) {
return FALSE;
}
+static gboolean
+redraw_seekbar_cb (gpointer nothing) {
+ void seekbar_draw (GtkWidget *widget);
+ void seekbar_expose (GtkWidget *widget, int x, int y, int w, int h);
+ GtkWidget *widget = lookup_widget (mainwin, "seekbar");
+ seekbar_draw (widget);
+ seekbar_expose (widget, 0, 0, widget->allocation.width, widget->allocation.height);
+ return FALSE;
+}
+
void
gtkpl_songchanged_wrapper (int from, int to) {
struct fromto_t *ft = malloc (sizeof (struct fromto_t));
ft->from = from;
ft->to = to;
g_idle_add (update_win_title_idle, ft);
+ if (ft->to == -1 && ft->from != -1) {
+ // redraw seekbar
+ g_idle_add (redraw_seekbar_cb, NULL);
+ }
}
void