Bug 115212 - Last.FM/scrobbler queue contents not saved to disk
Summary: Last.FM/scrobbler queue contents not saved to disk
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 1.3.5
Platform: Slackware Linux
: NOR normal
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-27 20:02 UTC by John Patterson
Modified: 2006-06-11 12:32 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Patch to import submitQueue after adding queue entries (971 bytes, patch)
2005-10-27 20:05 UTC, John Patterson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Patterson 2005-10-27 20:02:24 UTC
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.
Comment 1 John Patterson 2005-10-27 20:05:08 UTC
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.
Comment 2 Andreas Heinz 2005-10-29 01:21:12 UTC
havent applied the patch, but for me it looks good ;) and i experience the same, submit.xml stays empty even when submits fail
Comment 3 Alexandre Oliveira 2005-10-29 03:58:33 UTC
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";
Comment 4 Alexandre Oliveira 2005-10-29 04:00:14 UTC
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";