diff options
Diffstat (limited to 'libre/kdelibs-libre/fix-save-path.patch')
-rw-r--r-- | libre/kdelibs-libre/fix-save-path.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libre/kdelibs-libre/fix-save-path.patch b/libre/kdelibs-libre/fix-save-path.patch new file mode 100644 index 000000000..1a00221a7 --- /dev/null +++ b/libre/kdelibs-libre/fix-save-path.patch @@ -0,0 +1,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 ) ) { |