[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.2/kdelibs/kio/kio
From:       David Faure <faure () kde ! org>
Date:       2009-03-26 16:28:48
Message-ID: 1238084928.764987.9372.nullmailer () svn ! kde ! org
[Download RAW message or body]

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  


--- branches/KDE/4.2/kdelibs/kio/kio/copyjob.cpp #944993:944994
@@ -153,7 +153,7 @@
     QList<CopyInfo> dirs;
     KUrl::List dirsToRemove;
     KUrl::List m_srcList;
-    KUrl::List m_successSrcList;
+    KUrl::List m_successSrcList; // Entries in m_srcList that have successfully been \
moved  KUrl::List::const_iterator m_currentStatSrc;
     bool m_bCurrentSrcIsDir;
     bool m_bCurrentOperationIsLink;
@@ -853,7 +853,6 @@
     {
         //this is required for the undo feature
         emit q->copyingDone( q, (*it).uSource, (*it).uDest, (*it).mtime, true, false \
                );
-        m_successSrcList.append((*it).uSource);
         m_directoriesCopied.append( *it );
         dirs.erase( it );
     }
@@ -1574,11 +1573,12 @@
 void CopyJobPrivate::slotResultDeletingDirs( KJob * job )
 {
     Q_Q(CopyJob);
-    if (job->error())
-    {
+    if (job->error()) {
         // Couldn't remove directory. Well, perhaps it's not empty
         // because the user pressed Skip for a given file in it.
         // Let's not display "Could not remove dir ..." for each of those dir !
+    } else {
+        m_successSrcList.append(static_cast<KIO::SimpleJob*>(job)->url());
     }
     q->removeSubjob( job );
     assert( !q->hasSubjobs() );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic