From f37ffba8ac626c65737150c2a46561d6d2db9005 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 9 Nov 2012 22:24:19 -0200 Subject: kdelibs-libre-4.9.3-2: fix a regression in 'Save As' --- libre/kdelibs-libre/fix-save-path.patch | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 libre/kdelibs-libre/fix-save-path.patch (limited to 'libre/kdelibs-libre/fix-save-path.patch') 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 +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 ) ) { -- cgit v1.2.3