# HG changeset patch # User Matti Hamalainen # Date 1189363002 -10800 # Node ID 5a6896b6000f234fdbe7d9055b6e32c94b3de9bf # Parent 6ceb4439c6a0275d1e0dabbe95b448168889b836 Implement playlist_get_info_scanning() with mutex locking. diff -r 6ceb4439c6a0 -r 5a6896b6000f src/audacious/playlist.c --- a/src/audacious/playlist.c Sun Sep 09 18:47:56 2007 +0300 +++ b/src/audacious/playlist.c Sun Sep 09 21:36:42 2007 +0300 @@ -2519,6 +2519,19 @@ static gboolean +playlist_get_info_scanning(void) +{ + gboolean result; + + g_mutex_lock(mutex_scan); + result = playlist_get_info_scan_active; + g_mutex_unlock(mutex_scan); + + return result; +} + + +static gboolean playlist_request_win_update(gpointer unused) { Playlist *playlist = playlist_get_active(); @@ -2539,7 +2552,7 @@ // on_load if (cfg.use_pl_metadata && cfg.get_info_on_load && - playlist_get_info_scan_active) { + playlist_get_info_scanning()) { for (node = playlist->entries; node; node = g_list_next(node)) { entry = node->data; @@ -2627,7 +2640,7 @@ update_playlistwin = FALSE; } - if (playlist_get_info_scan_active) { + if (playlist_get_info_scanning()) { continue; } @@ -3245,6 +3258,9 @@ void playlist_free(Playlist *playlist) { + if (!playlist) + return; + g_mutex_free( playlist->mutex ); g_free( playlist ); }