# HG changeset patch # User Matti Hamalainen # Date 1192719730 -10800 # Node ID 2c92b89470573bab7af5b97e9ad34ee896929ded # Parent 9ae0a88420e559904ec284816cabfaf00fa5708b Maybe it works now. diff -r 9ae0a88420e5 -r 2c92b8947057 src/audacious/playlist.c --- a/src/audacious/playlist.c Thu Oct 18 17:07:09 2007 +0300 +++ b/src/audacious/playlist.c Thu Oct 18 18:02:10 2007 +0300 @@ -669,7 +669,7 @@ { PlaylistEntry *entry; Tuple *parent_tuple = NULL; - gint nsubtunes, subtune; + gint nsubtunes = 0, subtune = 0; gboolean add_flag = TRUE; g_return_if_fail(playlist != NULL); @@ -677,12 +677,10 @@ if (tuple != NULL) { nsubtunes = tuple->nsubtunes; - if (nsubtunes > 0) + if (nsubtunes > 0) { parent_tuple = tuple; - subtune = 1; - } else { - nsubtunes = 0; - subtune = 0; + subtune = 1; + } } for (; add_flag && subtune <= nsubtunes; subtune++) { @@ -706,11 +704,11 @@ tuple ? tuple_get_int(tuple, FIELD_LENGTH, NULL) : -1, dec); g_free(filename_entry); + PLAYLIST_LOCK(playlist); + if (!playlist->tail) playlist->tail = g_list_last(playlist->entries); - PLAYLIST_LOCK(playlist); - if (pos == -1) { // the common case GList *element; element = g_list_alloc(); @@ -742,7 +740,6 @@ PLAYLIST_UNLOCK(playlist); } - if (parent_tuple) tuple_free(parent_tuple);