diff options
author | Bastien Nocera <hadess@hadess.net> | 2010-03-02 16:50:58 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2010-03-02 16:50:58 +0000 |
commit | 58be46c568c9fb582ca8f99c1cbed31d450eec6c (patch) | |
tree | 26490a8ac3324d271769152b361a2c76e8c6a01f /plparse/totem-pl-parser-wm.c | |
parent | 13930a90705d7fe490dcf0fd63c9161c27870a07 (diff) | |
download | totem-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.c | 9 |
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) |