summaryrefslogtreecommitdiff
path: root/libre/kdelibs-libre/fix-save-path.patch
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@lavabit.com>2012-11-09 22:24:19 -0200
committerAndré Fabian Silva Delgado <emulatorman@lavabit.com>2012-11-09 22:24:19 -0200
commitf37ffba8ac626c65737150c2a46561d6d2db9005 (patch)
tree3709d764f9602c8fb0c77ae93ac9eb5ae56afaaa /libre/kdelibs-libre/fix-save-path.patch
parent03d5565a5e31c4f5189f8fd91eaf11aac5b9d5d3 (diff)
downloadabslibre-f37ffba8ac626c65737150c2a46561d6d2db9005.tar.gz
abslibre-f37ffba8ac626c65737150c2a46561d6d2db9005.tar.bz2
abslibre-f37ffba8ac626c65737150c2a46561d6d2db9005.zip
kdelibs-libre-4.9.3-2: fix a regression in 'Save As'
Diffstat (limited to 'libre/kdelibs-libre/fix-save-path.patch')
-rw-r--r--libre/kdelibs-libre/fix-save-path.patch27
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 ) ) {