File amarok-1.4.6-alt-playlist.patch of Package kde3-amarok

--- amarok-1.4.3/amarok/src/xmlloader.cpp	2006-09-05 05:42:40 +0300
+++ amarok-1.4.3.patched/amarok/src/xmlloader.cpp	2006-09-28 00:33:27 +0300
@@ -191,8 +191,7 @@
 {
     if( m_currentElement.isNull() )
         return true;
-
-    newTag( m_currentElement, ch );
+    newTag( m_currentElement, KURL::decode_string( ch ) );
 
     return true;
 }
--- amarok-1.4.3/amarok/src/playlistloader.cpp	2006-09-05 05:42:40 +0300
+++ amarok-1.4.3.patched/amarok/src/playlistloader.cpp	2006-09-28 10:56:09 +0300
@@ -1056,7 +1056,7 @@
             else if( atts.localName( i ) == "version" )
                 version = atts.value( i );
             else if( atts.localName( i ) == "dynamicMode" )
-                dynamic = atts.value( i );
+                dynamic = KURL::decode_string( atts.value( i ) );
         }
         emit playlistInfo( product, version, dynamic );
         return !m_aborted;
--- amarok-1.4.5/amarok/src/playlist.cpp.orig	2007-02-06 09:57:44 +0300
+++ amarok-1.4.5/amarok/src/playlist.cpp	2007-02-06 10:12:30 +0300
@@ -3089,7 +3089,7 @@
         const QString title = ( dynamicMode()->title() ).replace( "&", "&" )
                                                         .replace( "<", "&lt;"  )
                                                         .replace( ">", "&gt;"  );
-        dynamic = QString(" dynamicMode=\"%1\"").arg( title );
+        dynamic = QString(" dynamicMode=\"%1\"").arg( KURL::encode_string(title) );
     }
     stream << QString( "<playlist product=\"%1\" version=\"%2\"%3>\n" )
               .arg( "Amarok" ).arg( Amarok::xmlVersion() ).arg( dynamic );