From 5d26da9d15d4874c383bbc9948a802fcd605dc8b Mon Sep 17 00:00:00 2001 From: emersion Date: Wed, 21 Nov 2018 21:32:54 +0100 Subject: data-device: allow multiple devices for the same seat This commit makes it possible for a single client to have multiple data devices for the same seat. This fixes issues with Firefox. This mainly removes wlr_data_source.offer. We make sure we create one data offer per device. We now make the offer inert when the source is destroyed. Fixes the second half of https://github.com/swaywm/wlroots/issues/1041 --- include/wlr/types/wlr_data_device.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'include/wlr') diff --git a/include/wlr/types/wlr_data_device.h b/include/wlr/types/wlr_data_device.h index 9ce8f400..9c4ce995 100644 --- a/include/wlr/types/wlr_data_device.h +++ b/include/wlr/types/wlr_data_device.h @@ -12,14 +12,14 @@ #include #include -extern const struct -wlr_pointer_grab_interface wlr_data_device_pointer_drag_interface; +extern const struct wlr_pointer_grab_interface + wlr_data_device_pointer_drag_interface; -extern const struct -wlr_keyboard_grab_interface wlr_data_device_keyboard_drag_interface; +extern const struct wlr_keyboard_grab_interface + wlr_data_device_keyboard_drag_interface; -extern const struct -wlr_touch_grab_interface wlr_data_device_touch_drag_interface; +extern const struct wlr_touch_grab_interface + wlr_data_device_touch_drag_interface; struct wlr_data_device_manager { struct wl_global *global; @@ -72,7 +72,6 @@ struct wlr_data_source { // source status bool accepted; - struct wlr_data_offer *offer; // drag'n'drop status enum wl_data_device_manager_dnd_action current_dnd_action; -- cgit v1.2.3