[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-04-21 22:05:27
Message-ID: 1240351527.691676.2766.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 957388 by dfaure:

Prefer most-local-urls in the drag object, rather than kde- (and user-!) specific \
urls. Fixes copying files from folderview to a filemanager running as root.
This fix will be in 4.2.3.
BUG: 184403


 M  +9 -9      kdirmodel.cpp  


--- branches/KDE/4.2/kdelibs/kio/kio/kdirmodel.cpp #957387:957388
@@ -836,21 +836,21 @@
 QMimeData * KDirModel::mimeData( const QModelIndexList & indexes ) const
 {
     KUrl::List urls, mostLocalUrls;
+    bool canUseMostLocalUrls = true;
     foreach (const QModelIndex &index, indexes) {
         const KFileItem& item = d->nodeForIndex(index)->item();
         urls << item.url();
-        bool dummy;
-        mostLocalUrls << item.mostLocalUrl(dummy);
+        bool isLocal;
+        mostLocalUrls << item.mostLocalUrl(isLocal);
+        if (!isLocal)
+            canUseMostLocalUrls = false;
     }
+    if (canUseMostLocalUrls) { // prefer those. Useful when dropping into another \
user's window for instance (#184403) +        urls = mostLocalUrls;
+    }
     QMimeData *data = new QMimeData();
-    const bool different = mostLocalUrls != urls;
     urls = simplifiedUrlList(urls);
-    if (different) {
-        mostLocalUrls = simplifiedUrlList(mostLocalUrls);
-        urls.populateMimeData(mostLocalUrls, data);
-    } else {
-        urls.populateMimeData(data);
-    }
+    urls.populateMimeData(data);
 
     // for compatibility reasons (when dropping or pasting into kde3 applications)
     QString application_x_qiconlist;


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

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