From ecae4732a7a7e3a94dd06a47273a5cec7a1ad8f3 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Sat, 22 Feb 2020 19:51:02 +0200 Subject: [PATCH] Android: QFileDialog::selectedFiles() check isLocalFile() call toLocalFile() only if the returned QUrl::isLocalFile() is true, otherwise return toString(). Same thing as done for QFileDialog static functions as in 1576f81baa8a1c992a005397edfc5d6f9e1b44c1. Change-Id: I3f8cab385e32d0943587b3382a636ea3a168d518 Reviewed-by: Andy Shaw --- src/widgets/dialogs/qfiledialog.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index 81f0cde407..6283e28c0e 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -1298,8 +1298,12 @@ QStringList QFileDialog::selectedFiles() const QStringList files; const QList userSelectedFiles = d->userSelectedFiles(); files.reserve(userSelectedFiles.size()); - for (const QUrl &file : userSelectedFiles) - files.append(file.toLocalFile()); + for (const QUrl &file : userSelectedFiles) { + if (file.isLocalFile() || file.isEmpty()) + files.append(file.toLocalFile()); + else + files.append(file.toString()); + } if (files.isEmpty() && d->usingWidgets()) { const FileMode fm = fileMode(); if (fm != ExistingFile && fm != ExistingFiles)