https://bugs.kde.org/show_bug.cgi?id=436453
Bug ID: 436453
Summary: No reply to Quit() after Inhibit() call
Product: xdg-desktop-portal-kde
Version: unspecified
Platform: Manjaro
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
SUMMARY
Portal documentation
(https://flatpak.github.io/xdg-desktop-portal/portal-docs.html#gdbus-org.freedesktop.portal.Inhibit)
prescribe that in order to remove the inhibition, the client must call Close()
on the returned handle.
After a quick look at src/inhibit.cpp (and comparing it to
xdg-desktop-portal-gtk) I am pretty sure no reply is prepared. This means that
the client hangs on and finally crashes.
STEPS TO REPRODUCE
1. run /lib/xdg-desktop-portal-kde --verbose
2. run my quick demo:
https://gist.github.com/carlocastoldi/b52a3434c36b8bf185afe4a545ff90d8
3. click on the GUI bottom twice. One for inhibiting and one for stopping the
inhibition
4. make sure the Close() call is received by xdg-desktop-portal-kde
5. Wait for a certain amount of seconds
Make sure to run my demo on X11, as on Wayland I take advantage of xdg-foreign
to export the toplevel handle and Kwin does not yet support it (I don't even
know if there is any plans to)
OBSERVED RESULT
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not
receive a reply. Possible causes include: the remote application did not send a
reply, the message bus security policy blocked the reply, the reply timeout
expired, or the network connection was broken
EXPECTED RESULT
The inhibition is cancelled and a reply is sent back to the application
ADDITIONAL INFORMATION
This bug report and demo is done with the goal to ease the usage of portals by
host applications (and not!) as i think they can play a really important role
in the interoperability between gnu/linux environments.
I'd be happy to share ideas & code with someone who sees the same potential!
For further info: https://github.com/flatpak/xdg-desktop-portal/issues/579
--
You are receiving this mail because:
You are watching all bug changes.