| Summary: | Introspecting desktop portal requests hangs | ||
|---|---|---|---|
| Product: | [Plasma] xdg-desktop-portal-kde | Reporter: | David Anderson <dave> |
| Component: | general | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | CONFIRMED --- | ||
| Severity: | minor | CC: | aleixpol, kde, nate, ngompa |
| Priority: | NOR | ||
| Version First Reported In: | 6.2.5 | ||
| Target Milestone: | --- | ||
| Platform: | Fedora RPMs | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
David Anderson
2025-01-22 01:19:30 UTC
Yup, confirmed, looking at QDBus source code: https://github.com/qt/qtbase/blob/dev/src/dbus/qdbusintegrator.cpp#L1447 When the message is routed to a virtual object, handleMessage gets the first look. If it returns true, that's the end of processing. If it returns false, _then_ QDBus calls activateInternalFilters (https://github.com/qt/qtbase/blob/dev/src/dbus/qdbusintegrator.cpp#L1391), which is where the call to introspect happens. So, Request::handleMessage is accidentally suppressing all the "builtin" DBus interfaces, including introspection. This should be an easy fix, assuming I can figure out how to test a custom build of the portal service... I always wondered why the requests are virtual objects in the first place and not normal adaptors. |