# HG changeset patch # User Matti Hamalainen # Date 1192660205 -10800 # Node ID ec989c2cde748f57963e3c6946ef285faaf47e0d # Parent 7f42752acf4de3985aba5b769bc9cd266ddc72af Make selective subtunes support actually work. diff -r 7f42752acf4d -r ec989c2cde74 src/audacious/playlist.c --- a/src/audacious/playlist.c Wed Oct 17 23:02:12 2007 +0300 +++ b/src/audacious/playlist.c Thu Oct 18 01:30:05 2007 +0300 @@ -669,7 +669,7 @@ { PlaylistEntry *entry; Tuple *parent_tuple = NULL; - gint nsubtunes = 0, i = 0; + gint nsubtunes, subtune; gboolean add_flag = TRUE; g_return_if_fail(playlist != NULL); @@ -677,18 +677,17 @@ if (tuple != NULL) { nsubtunes = tuple->nsubtunes; - if (nsubtunes > 0) { + if (nsubtunes > 0) parent_tuple = tuple; - i = 1; - } - } - - for (; add_flag && i <= nsubtunes; i++) { + } else + nsubtunes = 0; + + for (subtune = 0; add_flag && subtune < nsubtunes; subtune++) { gchar *filename_entry; if (nsubtunes > 0) { filename_entry = g_strdup_printf("%s?%d", filename, - parent_tuple->subtunes ? parent_tuple->subtunes[i] : i); + parent_tuple->subtunes ? parent_tuple->subtunes[subtune] : subtune + 1); /* We're dealing with subtune, let's ask again tuple information * to plugin, by passing the ?subtune suffix; this way we get @@ -709,7 +708,7 @@ PLAYLIST_LOCK(playlist); - if ((pos == -1) && (i < 2)) { // the common case + if (pos == -1 && subtune < 1 && nsubtunes < 1) { // the common case GList *element; element = g_list_alloc(); element->data = entry;