Bug 118593

Summary: Konqueror does not properly refresh the source panel of a drag'n'drop operation if this operation is interrupted before its end.
Product: [Applications] konqueror Reporter: ombreleau
Component: generalAssignee: David Faure <faure>
Status: RESOLVED FIXED    
Severity: normal CC: cimmino.marco, etix, faure
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description ombreleau 2005-12-18 20:46:21 UTC
Version:            (using KDE KDE 3.4.3)
Installed from:    Debian testing/unstable Packages
Compiler:          GCC version unknown (the one used to build Debian GNU/Linux testing/unstable packages) Target: i486-linux-gnu
OS:                Linux

Hello.

This error was discovered when moving files from some FTP remote folder to a local disk. Still, the symptoms make me think that it would occur in any circumstances involving moving items between two konqueror panels.

Summary:
If a "move" operation between two Konqueror panels is interrupted halfway (e.g. no space left on destination device), only the destination panel is refreshed. This, triggered together with another bug regarding "move" operations can lead to data loss.

How to reproduce:
1- Prepare a local disk partition P with "only" N megabytes of free space (the smaller N is, the easiest the test will be).
2- Launch an instance of konqueror.
3- Split the window into two panels (Ctrl-Shift-T)
4- Use the bottom panel to browse a folder containing more than N megabytes of files (having several files makes things easier to understand).
5- Use the top panel to browse to an empty folder of the partition P.
6- Select all files in the bottom panel, drag'n'drop them to the top panel, in a *move* operation.
7- When the partition P is full, Konqueror will complain as expected (pop-up window). Cancel the operation.
=8=> At that point, some files will already have been moved, and hence deleted from the source folder. This shows only in the *destination panel* the first konqueror. the source panel is not updated at all, allowing one to try and move files again, files that do not exist any more.

Expected behaviour:
1 to 7: ok
=8=> Both panels must be refreshed to reflect the new situation. It would be nice if the files which have not been completely transferred remained selected in the source panel.

This goes beyond mere annoyance, as another bug can be triggered when attempting to move the files a second time. This other bug can lead to the loss of all the files moved in the first attempt. I will fill another bug report for this.
Comment 1 ombreleau 2005-12-18 21:00:10 UTC
The second bug, which can lead to data loss when triggereed together with this one, is now registered in this bugzilla as #118594.
Comment 2 Tommi Tervo 2007-02-20 14:50:05 UTC
*** Bug 128739 has been marked as a duplicate of this bug. ***
Comment 3 David Faure 2009-01-27 02:23:24 UTC
Reproduced (using the steps detailed at http://bugs.kde.org/show_bug.cgi?id=118594#c3 ) and fixed.
Comment 4 David Faure 2009-01-27 02:24:28 UTC
SVN commit 917170 by dfaure:

Emit the correct FilesRemoved signal if the job was aborted in the middle of its operation, otherwise
it can result in confusion and data loss (overwriting files with files that don't exist).
BUG: 118593
 (this fix will be in 4.2.1)


 M  +27 -24    copyjob.cpp  
 M  +1 -0      copyjob.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=917170
Comment 5 David Faure 2009-03-26 17:28:50 UTC
SVN commit 944994 by dfaure:

Don't make the source dir "disappear" (visually, it was still there on disk) if there was an error while removing one of its subdir (e.g. wrong encoding).
This fix will be in 4.2.2 (just in time).
BUG: 187868

This is a more refined version of the fix for #118593 (retested, still works).
CCBUG: 118593


 M  +4 -4      copyjob.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=944994
Comment 6 Christoph Feck 2009-06-28 18:39:23 UTC
*** Bug 183628 has been marked as a duplicate of this bug. ***