Bug 138885

Summary: Items in transfer to media device queue are not requeue'd after a crash
Product: [Applications] amarok Reporter: Christopher Warner <cwarner>
Component: generalAssignee: Amarok Developers <amarok-bugs-dist>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 1.4.3   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Christopher Warner 2006-12-16 18:00:27 UTC
Version:           1.4.3 (using KDE KDE 3.5.5KDE 1.2)
Installed from:    Ubuntu PackagesUbuntu Packages
Compiler:          4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
OS:                Linux

If there are items in the transfer queue for later transfer to media device and Amarok crashes, on restart those items in the queue are no longer listed.

An example of where this occurs is where you have a bunch of podcast queued up for transfer and Amarok crashes before you can actually transfer them to the media device. On restart you have to transfer the latest podcasts to the device yourself instead of Amarok reinstating the items that were in the queue.

This isn't such a big issue with 4 or 5 podcast. However if it's 100 podcast then it becomes a pain.
Comment 1 Martin Aumueller 2006-12-16 22:01:27 UTC
SVN commit 614218 by aumuell:

save media device transfer queue when items are added and after transfers
BUG: 138885


 M  +2 -0      ChangeLog  
 M  +3 -0      src/mediabrowser.cpp  


--- trunk/extragear/multimedia/amarok/ChangeLog #614217:614218
@@ -33,6 +33,8 @@
       you move and rename them.
 
   CHANGES:
+    * Save media device transfer queue when adding items or after transfers.
+      (BR 138885)
     * Upgraded internal SQLite to 3.3.8.
     * MTP media devices are not automatically connected on start-up. This 
       should solve slow loading times for those with large collections on an 
--- trunk/extragear/multimedia/amarok/src/mediabrowser.cpp #614217:614218
@@ -2327,6 +2327,8 @@
             && m_parent->currentDevice()->asynchronousTransfer()
             && !m_parent->currentDevice()->isTransferring() )
         m_parent->currentDevice()->transferFiles();
+
+    save( Amarok::saveLocation() + "transferlist.xml" );
 }
 
 void
@@ -3118,6 +3120,7 @@
     }
 
     m_parent->updateButtons();
+    m_parent->queue()->save( Amarok::saveLocation() + "transferlist.xml" );
     m_transferring = false;
 
     if( m_deferredDisconnect )