summaryrefslogtreecommitdiff
path: root/plparse/totem-pl-parser-wm.c
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2010-03-02 16:50:58 +0000
committerBastien Nocera <hadess@hadess.net>2010-03-02 16:50:58 +0000
commit58be46c568c9fb582ca8f99c1cbed31d450eec6c (patch)
tree26490a8ac3324d271769152b361a2c76e8c6a01f /plparse/totem-pl-parser-wm.c
parent13930a90705d7fe490dcf0fd63c9161c27870a07 (diff)
downloadtotem-pl-parser-58be46c568c9fb582ca8f99c1cbed31d450eec6c.tar.gz
Fix parsing of pukas.wax
The playlist-started signal would happen after we parsed the first entry, which means that Rhythmbox would be ignoring it. Reported at: http://thread.gmane.org/gmane.comp.gnome.apps.rhythmbox.devel/10810
Diffstat (limited to 'plparse/totem-pl-parser-wm.c')
-rw-r--r--plparse/totem-pl-parser-wm.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/plparse/totem-pl-parser-wm.c b/plparse/totem-pl-parser-wm.c
index 3a544c2..6950f2a 100644
--- a/plparse/totem-pl-parser-wm.c
+++ b/plparse/totem-pl-parser-wm.c
@@ -319,10 +319,10 @@ parse_asx_entries (TotemPlParser *parser, const char *uri, GFile *base_file, xml
new_base = NULL;
+ /* Loop to look for playlist information first */
for (node = parent->child; node != NULL; node = node->next) {
if (node->name == NULL)
continue;
-
if (g_ascii_strcasecmp (node->name, "title") == 0) {
g_free (title);
title = g_strdup (node->data);
@@ -341,6 +341,13 @@ parse_asx_entries (TotemPlParser *parser, const char *uri, GFile *base_file, xml
new_base = g_file_new_for_uri (str);
}
}
+ }
+
+ /* Restart for the entries now */
+ for (node = parent->child; node != NULL; node = node->next) {
+ if (node->name == NULL)
+ continue;
+
if (g_ascii_strcasecmp (node->name, "entry") == 0) {
/* Whee! found an entry here, find the REF and TITLE */
if (parse_asx_entry (parser, new_base ? new_base : base_file, node, parse_data) != FALSE)