aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-05-03 20:22:51 +0100
committeremersion <contact@emersion.fr>2018-05-03 20:22:51 +0100
commit5d37b14116e61d5f21f72cdfbd979fe92e17e295 (patch)
tree86ff446094c8a5d090018591cd2bdd597d49343d /include
parent7843a484328a26a0029456adffd8c409187ca205 (diff)
data-device: make sure resources are correctly destroyed
Diffstat (limited to 'include')
-rw-r--r--include/types/wlr_data_device.h3
-rw-r--r--include/wlr/types/wlr_data_device.h8
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 {