From: phantomjinx <pha...@us...> - 2012-04-22 21:50:32
|
commit b2c8286a850e3ac0bdbc4d8fecb619bbd88612e2 Author: phantomjinx <p.g...@ph...> Date: Sun Apr 22 22:48:35 2012 +0100 Fix deadlock when mult metadata is available in sjcd * When preparing to rip a CD and cddb returns more than one choice for the CD's metadata, a dialog is displayed so user can choose which metadata to take. Pressing continue, causes a deadlock in application. * Surrounding gtk_dialog_run function with gdk_threads_enter/leave solves the deadlock by ensuring gtkpod's main loop owns the lock. plugins/sjcd/sj-main.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) --- diff --git a/plugins/sjcd/sj-main.c b/plugins/sjcd/sj-main.c index 7458331..dd042b8 100644 --- a/plugins/sjcd/sj-main.c +++ b/plugins/sjcd/sj-main.c @@ -549,7 +549,9 @@ AlbumDetails* multiple_album_dialog(GList *albums) } gtk_widget_show_all (dialog); + gdk_threads_enter(); response = gtk_dialog_run (GTK_DIALOG (dialog)); + gdk_threads_leave(); gtk_widget_hide (dialog); if (response == GTK_RESPONSE_DELETE_EVENT) { |