summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Grulich <jgrulich@redhat.com>2020-10-23 11:16:10 +0200
committerJan Grulich <jgrulich@redhat.com>2020-10-25 10:01:30 +0200
commit13af9343da0392abc27c718888934f9398bff024 (patch)
treefdd5305b9e43414971a148565d40bf2b5f7f9545 /src
parent34d3f2e21921a7eef8f6241a178598f9eaf0a8a9 (diff)
OpenFile portal: use "writable" option to specify our FD is writable
When using OpenFile portal and passing a file descriptor, we open the file with qt_safe_open() which by defaults make the file descriptor writable. However we didn't specify in options that the FD is writable which leads into rejection on xdg-desktop-portal side as there is a mismatch between writable FD and read-only request. Change-Id: I7a430339a9615f0a054e777e0f3de56e219d1706 Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 3e09ac369dc8e2851ff772b9d9dde92fffd959b2)
Diffstat (limited to 'src')
-rw-r--r--src/platformsupport/services/genericunix/qgenericunixservices.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/platformsupport/services/genericunix/qgenericunixservices.cpp b/src/platformsupport/services/genericunix/qgenericunixservices.cpp
index b583d636c0..1a3cab275d 100644
--- a/src/platformsupport/services/genericunix/qgenericunixservices.cpp
+++ b/src/platformsupport/services/genericunix/qgenericunixservices.cpp
@@ -214,8 +214,10 @@ static inline QDBusMessage xdgDesktopPortalOpenFile(const QUrl &url)
QDBusUnixFileDescriptor descriptor;
descriptor.giveFileDescriptor(fd);
- // FIXME parent_window_id and handle writable option
- message << QString() << QVariant::fromValue(descriptor) << QVariantMap();
+ const QVariantMap options = {{QLatin1String("writable"), true}};
+
+ // FIXME parent_window_id
+ message << QString() << QVariant::fromValue(descriptor) << options;
return QDBusConnection::sessionBus().call(message);
}