summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-04-16 17:39:03 +0200
committerGravatar waker <wakeroid@gmail.com>2011-04-16 17:39:03 +0200
commit1a32ce71a7b5120f52c74c1bfd60a1084dab606a (patch)
tree717fc583ccd4619c2b5705feb86b97751423c24d
parentc5d9399c6f0bd64fa291c6f7c9997e0b024635ef (diff)
fixed redrawing playlist on grouping change
-rw-r--r--plugins/gtkui/gtkui.c4
-rw-r--r--plugins/gtkui/plcommon.c13
2 files changed, 15 insertions, 2 deletions
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index 6811b6b4..a8150366 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -611,7 +611,7 @@ gtkui_on_configchanged (ddb_event_t *ev, uintptr_t data) {
gtkui_embolden_current_track = deadbeef->conf_get_int ("gtkui.embolden_current_track", 0);
// tray icon
- g_idle_add (gtkui_update_status_icon, NULL);
+ gtkui_update_status_icon (NULL);
return 0;
}
@@ -970,7 +970,7 @@ gtkui_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) {
g_idle_add (gtkui_volumechanged_cb, NULL);
break;
case DB_EV_CONFIGCHANGED:
- gtkui_on_configchanged ((ddb_event_t *)ctx, 0);
+ g_idle_add (gtkui_on_configchanged, NULL);
break;
case DB_EV_OUTPUTCHANGED:
g_idle_add (outputchanged_cb, NULL);
diff --git a/plugins/gtkui/plcommon.c b/plugins/gtkui/plcommon.c
index ad758007..8eada61e 100644
--- a/plugins/gtkui/plcommon.c
+++ b/plugins/gtkui/plcommon.c
@@ -537,6 +537,10 @@ on_group_by_none_activate (GtkMenuItem *menuitem,
{
strcpy (group_by_str, "");
deadbeef->conf_set_str ("playlist.group_by", group_by_str);
+
+ deadbeef->pl_lock ();
+ deadbeef->plt_modified (deadbeef->plt_get_handle (deadbeef->plt_get_curr ()));
+ deadbeef->pl_unlock ();
main_refresh ();
}
@@ -546,6 +550,9 @@ on_group_by_artist_date_album_activate (GtkMenuItem *menuitem,
{
strcpy (group_by_str, "%a - [%y] %b");
deadbeef->conf_set_str ("playlist.group_by", group_by_str);
+ deadbeef->pl_lock ();
+ deadbeef->plt_modified (deadbeef->plt_get_handle (deadbeef->plt_get_curr ()));
+ deadbeef->pl_unlock ();
main_refresh ();
}
@@ -555,6 +562,9 @@ on_group_by_artist_activate (GtkMenuItem *menuitem,
{
strcpy (group_by_str, "%a");
deadbeef->conf_set_str ("playlist.group_by", group_by_str);
+ deadbeef->pl_lock ();
+ deadbeef->plt_modified (deadbeef->plt_get_handle (deadbeef->plt_get_curr ()));
+ deadbeef->pl_unlock ();
main_refresh ();
}
@@ -575,6 +585,9 @@ on_group_by_custom_activate (GtkMenuItem *menuitem,
strncpy (group_by_str, text, sizeof (group_by_str));
group_by_str[sizeof (group_by_str)-1] = 0;
deadbeef->conf_set_str ("playlist.group_by", group_by_str);
+ deadbeef->pl_lock ();
+ deadbeef->plt_modified (deadbeef->plt_get_handle (deadbeef->plt_get_curr ()));
+ deadbeef->pl_unlock ();
main_refresh ();
}
gtk_widget_destroy (dlg);