summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Grulich <jgrulich@redhat.com>2020-10-07 08:36:44 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2020-10-12 10:19:20 +0000
commit1dc58eb40ae07a191c37f583bc0a8a1a3f5bca4f (patch)
tree24f939daf6b6a1be4d0d135ad604852365ab942c
parent80e3ded22d873e4d5d4251f29943f6f670cb69f0 (diff)
FileChooser portal: skip empty filters to avoid rejection from portals
Xdg-desktop-portal will reject any OpenFile request if there is an empty filter. We will just simply skip it to avoid the rejection so users get a file dialog. Change-Id: I85c056f46b22cdbc9e14010bc3c49206b6f8f002 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 316bf124437f4aaef10c29db5a158092ca7a832a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
index cf3c2c9e9b..c4dc2da623 100644
--- a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
+++ b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
@@ -248,6 +248,11 @@ void QXdgDesktopPortalFileDialog::openPortal()
QString userVisibleName = match.captured(1);
QStringList filterStrings = match.captured(2).split(QLatin1Char(' '), Qt::SkipEmptyParts);
+ if (filterStrings.isEmpty()) {
+ qWarning() << "Filter " << userVisibleName << " is empty and will be ignored.";
+ continue;
+ }
+
FilterConditionList filterConditions;
for (const QString &filterString : filterStrings) {
FilterCondition filterCondition;