diff options
author | emersion <contact@emersion.fr> | 2018-05-03 20:22:51 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-05-03 20:22:51 +0100 |
commit | 5d37b14116e61d5f21f72cdfbd979fe92e17e295 (patch) | |
tree | 86ff446094c8a5d090018591cd2bdd597d49343d /include | |
parent | 7843a484328a26a0029456adffd8c409187ca205 (diff) |
data-device: make sure resources are correctly destroyed
Diffstat (limited to 'include')
-rw-r--r-- | include/types/wlr_data_device.h | 3 | ||||
-rw-r--r-- | include/wlr/types/wlr_data_device.h | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/include/types/wlr_data_device.h b/include/types/wlr_data_device.h index 4aa53dc0..ee423f80 100644 --- a/include/types/wlr_data_device.h +++ b/include/types/wlr_data_device.h @@ -18,7 +18,8 @@ struct wlr_data_offer *data_offer_create(struct wl_client *client, void data_offer_update_action(struct wlr_data_offer *offer); struct wlr_client_data_source *client_data_source_create( - struct wl_client *client, uint32_t version, uint32_t id); + struct wl_client *client, uint32_t version, uint32_t id, + struct wl_list *resource_list); struct wlr_client_data_source *client_data_source_from_resource( struct wl_resource *resource); struct wlr_data_offer *data_source_send_offer(struct wlr_data_source *source, diff --git a/include/wlr/types/wlr_data_device.h b/include/wlr/types/wlr_data_device.h index 6fb41c29..80d4bc8b 100644 --- a/include/wlr/types/wlr_data_device.h +++ b/include/wlr/types/wlr_data_device.h @@ -15,8 +15,16 @@ wlr_touch_grab_interface wlr_data_device_touch_drag_interface; struct wlr_data_device_manager { struct wl_global *global; + struct wl_list wl_resources; + struct wl_list data_sources; struct wl_listener display_destroy; + + struct { + struct wl_signal destroy; + } events; + + void *data; }; struct wlr_data_offer { |