summaryrefslogtreecommitdiff
path: root/libre/kdelibs-libre/fix-save-path.patch
blob: 1a00221a7d8f7d7e65fb905b2cf79f2e678698a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
commit 793e2a69f8aa193b60494b03d51c5fd44373c0e7
Author: Jonathan Marten <jjm@keelhaul.me.uk>
Date:   Wed Nov 7 12:45:03 2012 +0000

    Fix regression: specified or remembered save path is not used
    
    As requested on review https://git.reviewboard.kde.org/r/106475/

diff --git a/kfile/kfilewidget.cpp b/kfile/kfilewidget.cpp
index 65deca2..e755aae 100644
--- a/kfile/kfilewidget.cpp
+++ b/kfile/kfilewidget.cpp
@@ -2593,8 +2593,12 @@ KUrl KFileWidget::getStartUrl( const KUrl& startDir,
         }
         else						// not special "kfiledialog" URL
         {
-            if (!startDir.isRelative())	// has directory, maybe with filename
-            {
+            // We can use startDir as the starting directory if either:
+            // (a) it has a directory part, or
+            // (b) there is a scheme (protocol), and it is not just "file".
+            if (!startDir.directory().isEmpty() ||
+                (!startDir.scheme().isEmpty() && !startDir.isLocalFile()))
+            {						// can use start directory
                 ret = startDir;				// will be checked by stat later
                 // If we won't be able to list it (e.g. http), then use default
                 if ( !KProtocolManager::supportsListing( ret ) ) {