Bug 311450

Summary: Transfers are restarted when multisegment kio is disabled and then reenabled
Product: [Applications] kget Reporter: David E. Narvaez <david.narvaez>
Component: MultisegkioAssignee: KGet authors <kget>
Status: RESOLVED FIXED    
Severity: critical    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 4.9.5
Sentry Crash Report:

Description David E. Narvaez 2012-12-10 05:22:58 UTC
Since KIO and Multisegment KIO handlers can both handle similar protocols, one can download files with Multisegment KIO, which will store DataFactory information in the transfers file, then disable Multisegment KIO, restart KGet and KIO will write transfers without factory information which will mess the Multisegment KIO handler if reenabled.

Reproducible: Always

Steps to Reproduce:
1. Start KGet, download something with Multisegment KIO plugin enabled and then disable MultiSegment KIO
2. Quit
3. Start KGet and Enable MultiSegment KIO
4. Quit
5. Start KGet
6. Quit
7. Start

Actual Results:  
In step 5, sizes of all transfers are displayed as n/a, indicating a problem. In step 7 all transfers are restarted.

Expected Results:  
Size information should be kept and no transfer should be restarted automatically.

Notice that this causes potential data loss if the original download is overwritten by the new download and the former is different, so I'm marking it critical.
Comment 1 David E. Narvaez 2012-12-10 05:30:07 UTC
SVN commit 1327894 by narvaez:

Only create TransferMultiSegKio for new transfers or stored
transfers with factory information.


 M  +1 -1      transfermultisegkiofactory.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1327894
Comment 2 David E. Narvaez 2012-12-10 05:31:44 UTC
SVN commit 1327895 by narvaez:

INTEGRATION:/branches/KDE/4.9/kdenetwork/kget/transfer-plugins/multisegmentkio 1327894
Only create TransferMultiSegKio for new transfers or stored
transfers with factory information.



 M  +1 -1      transfermultisegkiofactory.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1327895