[PATCH weston v5 3/3 1/2] Implement data_device interface destructor
kabeer khan
kabeer.khan at samsung.com
Sun Oct 12 22:06:49 PDT 2014
data_device : change version while initializing data_device_manager interface and data_device interface
Signed-off-by: kabeer khan <kabeer.khan at samsung.com>
---
src/data-device.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/data-device.c b/src/data-device.c
index 75fc60c..68be39f 100644
--- a/src/data-device.c
+++ b/src/data-device.c
@@ -761,10 +761,16 @@ data_device_set_selection(struct wl_client *client,
wl_resource_get_user_data(source_resource),
serial);
}
+static void
+data_device_release(struct wl_client *client, struct wl_resource *resource)
+{
+ wl_resource_destroy(resource);
+}
static const struct wl_data_device_interface data_device_interface = {
data_device_start_drag,
data_device_set_selection,
+ data_device_release
};
static void
@@ -844,7 +850,7 @@ get_data_device(struct wl_client *client,
struct wl_resource *resource;
resource = wl_resource_create(client,
- &wl_data_device_interface, 1, id);
+ &wl_data_device_interface, wl_resource_get_version(manager_resource), id);
if (resource == NULL) {
wl_resource_post_no_memory(manager_resource);
return;
@@ -867,9 +873,8 @@ bind_manager(struct wl_client *client,
{
struct wl_resource *resource;
- resource =
- wl_resource_create(client,
- &wl_data_device_manager_interface, 1, id);
+ resource = wl_resource_create(client,
+ &wl_data_device_manager_interface, MIN(version,2), id);
if (resource == NULL) {
wl_client_post_no_memory(client);
return;
@@ -909,7 +914,7 @@ WL_EXPORT int
wl_data_device_manager_init(struct wl_display *display)
{
if (wl_global_create(display,
- &wl_data_device_manager_interface, 1,
+ &wl_data_device_manager_interface, 2,
NULL, bind_manager) == NULL)
return -1;
--
2.1.0
More information about the wayland-devel
mailing list