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) {
|