Bug 480066 - Screen sharing dialog not showing up when no global theme is set
Summary: Screen sharing dialog not showing up when no global theme is set
Status: RESOLVED FIXED
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (show other bugs)
Version: 5.93.0
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-01-19 21:52 UTC by mooodyhunter@outlook.com
Modified: 2024-02-21 11:53 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mooodyhunter@outlook.com 2024-01-19 21:52:01 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

When attempting to share a screen, a QML error shows up in the log:

❯ QT_LOGGING_RULES='xdp*.debug=true' /usr/lib/xdg-desktop-portal-kde
xdp-kde: Desktop portal registered successfully
xdp-kde-wayland-integration: Registry initialized
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-inhibit: Inhibit called with parameters:
xdp-kde-inhibit:     handle:  "/org/freedesktop/portal/desktop/request/1_104/desktop_app4065459156"
xdp-kde-inhibit:     app_id:  ""
xdp-kde-inhibit:     window:  "wayland:ff68df90-37ac-48d4-87cd-e3cecdc30572"
xdp-kde-inhibit:     flags:  8
xdp-kde-inhibit:     options:  QMap(("reason", QVariant(QString, "Video chat is active")))
xdp-kde-background: GetAppState called: no parameters
xdp-kde-screencast: CreateSession called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_104/webrtc_1442434016"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_104/webrtc_session1335367091"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     options:  QMap()
xdp-kde-screencast: SelectSource called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_104/webrtc1402846859"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_104/webrtc_session1335367091"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     options:  QMap(("cursor_mode", QVariant(uint, 4))("multiple", QVariant(bool, false))("persist_mode", QVariant(uint, 1))("types", QVariant(uint, 3)))
xdp-kde-screencast: Start called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_104/webrtc555204913"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_104/webrtc_session1335367091"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     parent_window:  ""
xdp-kde-screencast:     options:  QMap()
KQuickPadding is both anonymous and named
qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/GlobalSonnetSettings.qml" and "qrc:/qt/qml/org/kde/desktop/private/MobileTextActionsToolBar.qml"
qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/GlobalSonnetSettings.qml" and "qrc:/qt/qml/org/kde/desktop/private/TextFieldContextMenu.qml"
qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/MobileTextActionsToolBar.qml" and "qrc:/qt/qml/org/kde/desktop/private/TextFieldContextMenu.qml"
qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/TextFieldContextMenu.qml" and "qrc:/qt/qml/org/kde/desktop/private/MobileTextActionsToolBar.qml"
qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/TextFieldContextMenu.qml" and "qrc:/qt/qml/org/kde/desktop/private/GlobalSonnetSettings.qml"
qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/TextFieldContextMenu.qml" and "qrc:/qt/qml/org/kde/desktop/MenuItem.qml"
qt.qml.typeresolution.cycle: Cyclic dependency detected between "qrc:/qt/qml/org/kde/desktop/private/TextFieldContextMenu.qml" and "qrc:/qt/qml/org/kde/desktop/private/CheckIndicator.qml"
qrc:/PipeWireDelegate.qml:18:12: Duplicate signal name: invalid override of property change signal or superclass signal
qrc:/ScreenChooserDialog.qml:150: TypeError: Cannot call method 'standardButton' of null
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:81: TypeError: Cannot read property 'minimumWidth' of null
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:80: TypeError: Cannot read property 'minimumHeight' of null
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:76: TypeError: Cannot read property 'flags' of null
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:106: TypeError: Cannot call method 'standardButton' of null
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:104: TypeError: Cannot call method 'standardButton' of null
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:50: TypeError: Cannot read property 'dialogButtonBox' of null
xdp-kde-settings: ReadAll called with parameters:
xdp-kde-settings:     groups:  QList("org.kde.TabletMode")
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:84: TypeError: Cannot call method 'present' of null 
             contentDialog.item.present()
file:///usr/lib/qt6/qml/org/kde/plasma/workspace/dialogs/SystemDialog.qml:84: TypeError: Cannot call method 'present' of null
kpipewire_logging: Window not available PipeWireSourceItem(0x5dec6195ed00, id="pipeWireSourceItem", parent=0x5dec6194e070, geometry=8,8 340x0)
kpipewire_logging: Window not available PipeWireSourceItem(0x5dec6195ed00, id="pipeWireSourceItem", parent=0x5dec6194e070, geometry=8,8 340x0)
kpipewire_logging: Window not available PipeWireSourceItem(0x5dec6195ed00, id="pipeWireSourceItem", parent=0x5dec6194e070, geometry=8,8 340x0)
kpipewire_logging: Window not available PipeWireSourceItem(0x5dec6195ed00, id="pipeWireSourceItem", parent=0x5dec6194e070, geometry=8,8 340x0)
kpipewire_logging: Window not available PipeWireSourceItem(0x5dec6195ed00, id="pipeWireSourceItem", parent=0x5dec6194e070, geometry=8,8 340x0)


STEPS TO REPRODUCE
1. Use Telegram / OBS / Firefox to share screen in Wayland

OBSERVED RESULT
Nothing "observed", but the journal log is filled with kpipewire_logging: Window not available PipeWireSourceItem(0x5dec6195ed00, id="pipeWireSourceItem", parent=0x5dec6194e070, geometry=8,8 340x0)

EXPECTED RESULT
A window selection dialog pops up.

Operating System: Arch Linux 
KDE Plasma Version: 5.92.0
KDE Frameworks Version: 5.248.0
Qt Version: 6.7.0
Kernel Version: 6.7.0-arch3-1 (64-bit)
Graphics Platform: Wayland
Processors: 32 × 13th Gen Intel® Core™ i9-13900HX
Memory: 62.5 GiB of RAM
Graphics Processor: Mesa Intel® Graphics
Manufacturer: LENOVO
Product Name: 82WK
System Version: Legion Y9000P IRX8

ADDITIONAL INFORMATION
nothing?
Comment 1 mooodyhunter@outlook.com 2024-02-04 23:35:27 UTC
A weird thing is, this bug doesn't occur for a newly-created user.
Is it possible that some related settings are affecting the behavior?
Comment 2 mooodyhunter@outlook.com 2024-02-06 00:05:33 UTC
After I select a "global theme" in system settings (nothing was selected there beforehand), the portal starts to work without issue.
Comment 3 Nate Graham 2024-02-07 02:29:20 UTC
Fascinating. Sounds similar to Bug 474639.
Comment 4 Michael Kaplan 2024-02-08 13:45:48 UTC
I seem to be getting the same. I'm on Fedora 39, KDE 5.27.10, pipewire 1.0.3
Comment 5 Michael Kaplan 2024-02-08 13:47:26 UTC
(In reply to Michael Kaplan from comment #4)
> I seem to be getting the same. I'm on Fedora 39, KDE 5.27.10, pipewire 1.0.3

Forgot to mention, that I have a global theme set for quite a while(and it is quite an old install, that has been upgraded over time)
Comment 6 David Redondo 2024-02-21 11:24:31 UTC
Git commit da7385d61e32ba6746d2bcffc6675a2d70c858b6 by David Redondo.
Committed on 21/02/2024 at 11:00.
Pushed by davidre into branch 'master'.

lookandfeel packagestructure: Always fallback to default package

If a theme has no metadata.json (which can happen in the 5 to 6
transition period), we would end up with a valid package without
any fallback package. If such a package doesn't contain a certain
file we can now fall back.
Related: bug 474639

M  +3    -9    shell/packageplugins/lookandfeel/lookandfeel.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/da7385d61e32ba6746d2bcffc6675a2d70c858b6
Comment 7 David Redondo 2024-02-21 11:24:47 UTC
Git commit 97690861b4185293e88ebc08be0e238e196e44a0 by David Redondo.
Committed on 21/02/2024 at 11:00.
Pushed by davidre into branch 'master'.

SystemDialog: Fallback to default lnf theme

If loading the file from the active lnf theme fails, also try
the fallback (default) one.
FIXED-IN:6.0

M  +11   -2    components/dialogs/SystemDialog.qml
M  +5    -0    components/lookandfeelqml/kpackageinterface.cpp
M  +1    -0    components/lookandfeelqml/kpackageinterface.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/97690861b4185293e88ebc08be0e238e196e44a0
Comment 8 David Redondo 2024-02-21 11:52:52 UTC
Git commit d928becd0646c77b25679f4829592a31034aef78 by David Redondo.
Committed on 21/02/2024 at 11:33.
Pushed by davidre into branch 'Plasma/6.0'.

lookandfeel packagestructure: Always fallback to default package

If a theme has no metadata.json (which can happen in the 5 to 6
transition period), we would end up with a valid package without
any fallback package. If such a package doesn't contain a certain
file we can now fall back.
Related: bug 474639

M  +3    -9    shell/packageplugins/lookandfeel/lookandfeel.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/d928becd0646c77b25679f4829592a31034aef78
Comment 9 David Redondo 2024-02-21 11:53:01 UTC
Git commit 8f2dea93f31bed409c8650c82306fa6b417a4de4 by David Redondo.
Committed on 21/02/2024 at 11:33.
Pushed by davidre into branch 'Plasma/6.0'.

SystemDialog: Fallback to default lnf theme

If loading the file from the active lnf theme fails, also try
the fallback (default) one.
FIXED-IN:6.0

M  +11   -2    components/dialogs/SystemDialog.qml
M  +5    -0    components/lookandfeelqml/kpackageinterface.cpp
M  +1    -0    components/lookandfeelqml/kpackageinterface.h

https://invent.kde.org/plasma/plasma-workspace/-/commit/8f2dea93f31bed409c8650c82306fa6b417a4de4