summaryrefslogtreecommitdiff
path: root/plugins/gtkui
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-13 18:23:06 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-13 18:23:06 +0100
commit3438d32384da18fa4b1ebaa397efabfcb981c0f7 (patch)
tree80e051a89b7233458341f1c115eddc9986ff02a4 /plugins/gtkui
parent5275fa39d310a058b26a3c3183d45498633042a2 (diff)
fixed random crash on exit, while cover art is being loaded in background
Diffstat (limited to 'plugins/gtkui')
-rw-r--r--plugins/gtkui/coverart.c9
-rw-r--r--plugins/gtkui/gtkui.c2
2 files changed, 9 insertions, 2 deletions
diff --git a/plugins/gtkui/coverart.c b/plugins/gtkui/coverart.c
index af965cbf..3d9ba76b 100644
--- a/plugins/gtkui/coverart.c
+++ b/plugins/gtkui/coverart.c
@@ -276,9 +276,16 @@ cover_art_init (void) {
void
cover_art_free (void) {
- trace ("terminating cover art loader thread\n");
+ trace ("terminating cover art loader...\n");
+
+ if (coverart_plugin) {
+ trace ("resetting artwork plugin...\n");
+ coverart_plugin->reset ();
+ }
+
if (tid) {
terminate = 1;
+ trace ("sending terminate signal to art loader thread...\n");
deadbeef->cond_signal (cond);
deadbeef->thread_join (tid);
tid = 0;
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index a8ba8642..df21ce02 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -766,9 +766,9 @@ gtkui_thread (void *ctx) {
ddb_listview_set_vscroll (main_playlist, scroll);
gtk_main ();
+ cover_art_free ();
gtk_widget_destroy (mainwin);
gtk_widget_destroy (searchwin);
- cover_art_free ();
#if HAVE_NOTIFY
notify_uninit ();
#endif