Bug 521494 - Support more than one wl_data_device
Summary: Support more than one wl_data_device
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: Wayland drag-and-drop (other bugs)
Version First Reported In: master
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-15 12:57 UTC by Martin Stransky
Modified: 2026-08-15 10:29 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.7.5
Sentry Crash Report:


Attachments
a patch (5.56 KB, patch)
2026-06-15 12:59 UTC, Martin Stransky
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Stransky 2026-06-15 12:57:12 UTC
DESCRIPTION
kwin recently supports only one wl_data_device which breaks Firefox D&D.
https://bugzilla.mozilla.org/show_bug.cgi?id=2046911

More than one wl_data_device will allow to implement xdg_toplevel drag in Firefox.
Comment 1 Martin Stransky 2026-06-15 12:59:57 UTC
Created attachment 193168 [details]
a patch

AI generated patch, seems to be working
Comment 2 Martin Stransky 2026-06-15 13:04:56 UTC
Will submit the patch via git if it's correct and can be merged.
Comment 3 Nate Graham 2026-06-15 17:44:45 UTC
You might as well submit it; patches in bug reports tend to be missed.
Comment 4 Bug Janitor Service 2026-06-18 10:51:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9417
Comment 5 Vlad Zahorodnii 2026-08-10 11:00:55 UTC
Git commit e07d87d69916defcdc78ee2cb559ff9363ab2b5f by Vlad Zahorodnii, on behalf of Martin Stransky.
Committed on 10/08/2026 at 10:38.
Pushed by vladz into branch 'master'.

Support more than one wl_data_device

KWin uses only first data_device and ignores any other.
This patch allows to create and use more wl_data_devices per wl_seat.

M  +37   -22   src/wayland/seat.cpp
M  +1    -1    src/wayland/seat_p.h

https://invent.kde.org/plasma/kwin/-/commit/e07d87d69916defcdc78ee2cb559ff9363ab2b5f
Comment 6 Vlad Zahorodnii 2026-08-10 11:35:00 UTC
Git commit 528acd49e4e3b849a5fed2307f4a5e12e1a5a395 by Vlad Zahorodnii.
Committed on 10/08/2026 at 11:08.
Pushed by vladz into branch 'Plasma/6.7'.

Support more than one wl_data_device

KWin uses only first data_device and ignores any other.
This patch allows to create and use more wl_data_devices per wl_seat.


(cherry picked from commit e07d87d69916defcdc78ee2cb559ff9363ab2b5f)

Co-authored-by: Martin Stransky <stransky@redhat.com>

M  +37   -22   src/wayland/seat.cpp
M  +1    -1    src/wayland/seat_p.h

https://invent.kde.org/plasma/kwin/-/commit/528acd49e4e3b849a5fed2307f4a5e12e1a5a395
Comment 7 Martin Stransky 2026-08-11 13:17:00 UTC
Thanks!