Bug 449362

Summary: After drag-and-drop, all Xwayland apps stop reacting to mouse clicks until re-login or reboot
Product: [Plasma] kwin Reporter: Patrick Silva <bugseforuns>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: alexey-ilyin, dev+kde, nate
Priority: NOR    
Version: master   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In: 5.24

Description Patrick Silva 2022-01-30 11:26:56 UTC
STEPS TO REPRODUCE
1. use Wayland session
2. open a chromium-based internet browser (used ungoogled chromium from flathub and Opera on my system)
3. load any website
4. drag the loaded url from the address bar and drop it on desktop

OBSERVED RESULT
chromium-based browser no longer reacts to mouse clicks.
Restarting the browser does not solve the problem.
I need to reboot or restart Plasma session to make the chromium-based browser usable again.
Even an electron app (Discord) started after the steps above does not react to mouse clicks
until reboot or re-login.

EXPECTED RESULT
the observed result should not happen

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.24.80
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3
Graphics Platform: Wayland
Comment 1 Patrick Silva 2022-01-30 11:34:20 UTC
In fact, all Xwayland apps (including Firefox) stop reacting to mouse clicks after the provided steps.
Comment 2 Bug Janitor Service 2022-02-03 13:28:16 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1967
Comment 3 David Redondo 2022-02-03 14:14:23 UTC
Git commit b1d0928c8e3464e5a1a519263c5af0ea37782f76 by David Redondo.
Committed on 03/02/2022 at 14:01.
Pushed by davidre into branch 'master'.

xwayland: Handle drag being cancelled

There was no handling for the drop being cancelled at all, leading to
leaked WlVisit and XtoWlDrag objects. X clients could also be confused
about the state of the drag and for example not being able to start another
drag.

M  +5    -0    src/xwl/datasource.h
M  +7    -1    src/xwl/drag_x.cpp

https://invent.kde.org/plasma/kwin/commit/b1d0928c8e3464e5a1a519263c5af0ea37782f76
Comment 4 David Redondo 2022-02-03 14:23:05 UTC
Git commit 2d88ce5a5d156581ec9290823eb39bb8a47689a1 by David Redondo.
Committed on 03/02/2022 at 14:23.
Pushed by davidre into branch 'Plasma/5.24'.

xwayland: Handle drag being cancelled

There was no handling for the drop being cancelled at all, leading to
leaked WlVisit and XtoWlDrag objects. X clients could also be confused
about the state of the drag and for example not being able to start another
drag.


(cherry picked from commit b1d0928c8e3464e5a1a519263c5af0ea37782f76)

M  +5    -0    src/xwl/datasource.h
M  +7    -1    src/xwl/drag_x.cpp

https://invent.kde.org/plasma/kwin/commit/2d88ce5a5d156581ec9290823eb39bb8a47689a1
Comment 5 Nate Graham 2022-02-03 16:38:32 UTC
*** Bug 446891 has been marked as a duplicate of this bug. ***