diff options
Diffstat (limited to 'plugins/gtkui/gtkui.c')
-rw-r--r-- | plugins/gtkui/gtkui.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c index e2495082..d6d45f81 100644 --- a/plugins/gtkui/gtkui.c +++ b/plugins/gtkui/gtkui.c @@ -81,6 +81,8 @@ GtkWidget *theme_button; static int gtkui_accept_messages = 0; +static gint refresh_timeout = 0; + int fileadded_listener_id; int fileadd_beginend_listener_id; // overriden API methods @@ -553,6 +555,19 @@ gtkui_get_curr_playlist_mod (void) { return res; } +void +gtkui_setup_gui_refresh (void) { + int tm = 1000/gtkui_get_gui_refresh_rate (); + + if (refresh_timeout) { + g_source_remove (refresh_timeout); + refresh_timeout = 0; + } + + refresh_timeout = g_timeout_add (tm, gtkui_on_frameupdate, NULL); +} + + static gboolean gtkui_on_configchanged (void *data) { // order and looping @@ -587,6 +602,9 @@ gtkui_on_configchanged (void *data) { // tray icon gtkui_update_status_icon (NULL); + // statusbar refresh + gtkui_setup_gui_refresh (); + return FALSE; } @@ -686,8 +704,6 @@ gtkui_add_new_playlist (void) { return -1; } -static gint refresh_timeout = 0; - int gtkui_get_gui_refresh_rate () { int fps = deadbeef->conf_get_int ("gtkui.refresh_rate", 10); @@ -700,18 +716,6 @@ gtkui_get_gui_refresh_rate () { return fps; } -void -gtkui_setup_gui_refresh (void) { - int tm = 1000/gtkui_get_gui_refresh_rate (); - - if (refresh_timeout) { - g_source_remove (refresh_timeout); - refresh_timeout = 0; - } - - refresh_timeout = g_timeout_add (tm, gtkui_on_frameupdate, NULL); -} - static void send_messages_to_widgets (ddb_gtkui_widget_t *w, uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) { for (ddb_gtkui_widget_t *c = w->children; c; c = c->next) { @@ -1038,8 +1042,6 @@ gtkui_thread (void *ctx) { init_widget_layout (); - gtkui_setup_gui_refresh (); - char fmt[500]; char str[600]; deadbeef->conf_get_str ("gtkui.titlebar_stopped", "DeaDBeeF-%V", fmt, sizeof (fmt)); |