diff options
author | 2010-03-13 18:23:06 +0100 | |
---|---|---|
committer | 2010-03-13 18:23:06 +0100 | |
commit | 3438d32384da18fa4b1ebaa397efabfcb981c0f7 (patch) | |
tree | 80e051a89b7233458341f1c115eddc9986ff02a4 /plugins/gtkui | |
parent | 5275fa39d310a058b26a3c3183d45498633042a2 (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.c | 9 | ||||
-rw-r--r-- | plugins/gtkui/gtkui.c | 2 |
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 |