summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-12-13 01:00:10 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-12-13 01:00:11 +0100
commitad4f359f805cdb1f1ed4745165090cccfcf11441 (patch)
treeb6526cb215f2d15fd312a48f70798459dd6051b3 /src/widgets/dialogs
parentd20c9805763ab3dc504ebf2cefd33499d89ef22c (diff)
parent69f6d3bd44e4e2d36ef741a1914227f804504141 (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Diffstat (limited to 'src/widgets/dialogs')
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index 69496dbd29..eb3479b3e0 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -2866,7 +2866,11 @@ void QFileDialogPrivate::init(const QUrl &directory, const QString &nameFilter,
q->setFileMode(QFileDialog::AnyFile);
if (!nameFilter.isEmpty())
q->setNameFilter(nameFilter);
+ // QTBUG-70798, prevent the default blocking the restore logic.
+ const bool dontStoreDir = !directory.isValid() && !lastVisitedDir()->isValid();
q->setDirectoryUrl(workingDirectory(directory));
+ if (dontStoreDir)
+ lastVisitedDir()->clear();
if (directory.isLocalFile())
q->selectFile(initialSelection(directory));
else