summaryrefslogtreecommitdiff
path: root/plugins/gtkui
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2012-04-30 22:18:09 +0200
committerGravatar waker <wakeroid@gmail.com>2012-04-30 22:18:09 +0200
commit2452e82849d0a64e8462226047f9333672e34457 (patch)
tree4abef26187fe25ab7f40292717a5a4b317de2b8b /plugins/gtkui
parent8666c508aac74f5dc2d4ed0c3991a2a9a11f4d93 (diff)
gtkui: fxd random hang caused by ACTIONSCHANGED handler
Diffstat (limited to 'plugins/gtkui')
-rw-r--r--plugins/gtkui/gtkui.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index 72691af8..d18b120e 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -982,6 +982,12 @@ gtkui_setup_gui_refresh (void) {
refresh_timeout = g_timeout_add (tm, gtkui_on_frameupdate, NULL);
}
+gboolean
+add_mainmenu_actions_cb (void *data) {
+ add_mainmenu_actions ();
+ return FALSE;
+}
+
int
gtkui_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) {
switch (id) {
@@ -1022,7 +1028,7 @@ gtkui_message (uint32_t id, uintptr_t ctx, uint32_t p1, uint32_t p2) {
g_idle_add (playlistswitch_cb, NULL);
break;
case DB_EV_ACTIONSCHANGED:
- add_mainmenu_actions ();
+ g_idle_add (add_mainmenu_actions_cb, NULL);
break;
case DB_EV_DSPCHAINCHANGED:
eq_refresh ();