Version: 1.3.5 (using KDE KDE 3.4.2) Installed from: Slackware Packages Compiler: GCC 3.3.6 OS: Linux When a track submission to Last.FM fails, amaroK places it in a queue. This queue is saved to disk, but unfortunately (since version 1.3.3 or earlier) amaroK fails to add the details of the queued items to the actual document it saves out. The change that broke this seems to be that instead of appending submitQueue to newdoc directly, it is imported (via importNode) as submitNode, which is then appended to newdoc - however the import is done before the queue items have been added to submitQueue.
Created attachment 13182 [details] Patch to import submitQueue after adding queue entries With this patch added, amaroK saves the submissions queue properly, and queued submissions aren't lost when the app is closed and restarted.
havent applied the patch, but for me it looks good ;) and i experience the same, submit.xml stays empty even when submits fail
SVN commit 475384 by aoliveira: last.fm queue wouldn't be saved to disk. Patch by John Patterson <kde-bugs@ninecats.org>. BUG: 115212 M +2 -0 ChangeLog M +3 -2 src/scrobbler.cpp --- branches/stable/extragear/multimedia/amarok/ChangeLog #475383:475384 @@ -5,6 +5,8 @@ VERSION 1.3.6: BUGFIXES: + * last.fm queue wouldn't be saved to disk. Patch by John Patterson + <kde-bugs@ninecats.org>. (BR 115212) * Podcast download directory would only be effective next time the application started. * Don't crash when attempting to save an empty playlist from the --- branches/stable/extragear/multimedia/amarok/src/scrobbler.cpp #475383:475384 @@ -986,8 +986,6 @@ QDomElement submitQueue = newdoc.createElement( "submit" ); submitQueue.setAttribute( "product", "amaroK" ); submitQueue.setAttribute( "version", APP_VERSION ); - QDomNode submitNode = newdoc.importNode( submitQueue, true ); - newdoc.appendChild( submitNode ); m_submitQueue.first(); for ( uint idx = 0; idx < m_submitQueue.count(); idx++ ) @@ -997,6 +995,9 @@ submitQueue.appendChild( i ); } + QDomNode submitNode = newdoc.importNode( submitQueue, true ); + newdoc.appendChild( submitNode ); + QTextStream stream( &file ); stream.setEncoding( QTextStream::UnicodeUTF8 ); stream << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
SVN commit 475385 by aoliveira: last.fm queue wouldn't be saved to disk. Patch by John Patterson <kde-bugs@ninecats.org>. CCBUG: 115212 M +3 -2 scrobbler.cpp --- trunk/extragear/multimedia/amarok/src/scrobbler.cpp #475384:475385 @@ -986,8 +986,6 @@ QDomElement submitQueue = newdoc.createElement( "submit" ); submitQueue.setAttribute( "product", "amaroK" ); submitQueue.setAttribute( "version", APP_VERSION ); - QDomNode submitNode = newdoc.importNode( submitQueue, true ); - newdoc.appendChild( submitNode ); m_submitQueue.first(); for ( uint idx = 0; idx < m_submitQueue.count(); idx++ ) @@ -997,6 +995,9 @@ submitQueue.appendChild( i ); } + QDomNode submitNode = newdoc.importNode( submitQueue, true ); + newdoc.appendChild( submitNode ); + QTextStream stream( &file ); stream.setEncoding( QTextStream::UnicodeUTF8 ); stream << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";