https://bugs.kde.org/show_bug.cgi?id=522645
David Redondo <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CONFIRMED |RESOLVED Resolution|--- |FIXED Version| |6.6.6 Fixed/Implemented| | In| | Latest Commit| |https://invent.kde.org/plas | |ma/xdg-desktop-portal-kde/- | |/commit/5b17b8ef740431ec9d4 | |527fc12f296653b364d50 --- Comment #8 from David Redondo <[email protected]> --- Git commit 5b17b8ef740431ec9d4527fc12f296653b364d50 by David Redondo. Committed on 07/07/2026 at 07:17. Pushed by davidre into branch 'Plasma/6.6'. clipboard: Prevent deadlock if a transfer fails When a transfer fails we clear the clipboard to not longer own it as the app seems to not respond. Due how kguiaddons works internally this will deadlock: - kguiaddons is dispatching events on a separate thread - PortalMimeData::fetchData is invoked on this thread - We do a blocking invoke, because the portal and objects live on the main thread and we need to relay signals to dbus (see 2c0d063e5773b9c30afe3d96b9c2f910cf3bcbc3) - So the mutex inside kguiaddons is held by the clipboard thread but code is running in the main thread and the clipboard thread is waiting on that - Calling into KSystemClipboard now will deadlock 100% Instead when a transfer errors out, clear in the clipboard thread that is holding the lock. Note even a delayed clear from the main thread will deadlock as the clipboard thread might not relinquish the lock immediately and dispatch further events. FIXED-IN:6.6.6 M +3 -1 src/clipboard.cpp https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/commit/5b17b8ef740431ec9d4527fc12f296653b364d50 -- You are receiving this mail because: You are watching all bug changes.
