commit a8a080f
Michael Forney
·
2014-05-14 03:17:42 +0000 UTC
parent 795ea1f
{seat,keyboard,pointer}: Support protocol version 3
3 files changed,
+21,
-5
+12,
-2
1@@ -158,6 +158,15 @@ void keyboard_set_focus(struct keyboard * keyboard,
2 input_focus_set(&keyboard->focus, view);
3 }
4
5+static void release(struct wl_client * client, struct wl_resource * resource)
6+{
7+ wl_resource_destroy(resource);
8+}
9+
10+static struct wl_keyboard_interface keyboard_implementation = {
11+ .release = &release,
12+};
13+
14 static void unbind(struct wl_resource * resource)
15 {
16 struct keyboard * keyboard = wl_resource_get_user_data(resource);
17@@ -170,8 +179,9 @@ struct wl_resource * keyboard_bind(struct keyboard * keyboard,
18 {
19 struct wl_resource * client_resource;
20
21- client_resource = wl_resource_create(client, &wl_keyboard_interface, 1, id);
22- wl_resource_set_implementation(client_resource, NULL, keyboard, &unbind);
23+ client_resource = wl_resource_create(client, &wl_keyboard_interface, 3, id);
24+ wl_resource_set_implementation(client_resource, &keyboard_implementation,
25+ keyboard, &unbind);
26 input_focus_add_resource(&keyboard->focus, client_resource);
27
28 /* Subtract one to remove terminating NULL character. */
+8,
-2
1@@ -311,8 +311,14 @@ static void set_cursor(struct wl_client * client,
2 }
3 }
4
5+static void release(struct wl_client * client, struct wl_resource * resource)
6+{
7+ wl_resource_destroy(resource);
8+}
9+
10 static struct wl_pointer_interface pointer_implementation = {
11- .set_cursor = &set_cursor
12+ .set_cursor = &set_cursor,
13+ .release = &release,
14 };
15
16 static void unbind(struct wl_resource * resource)
17@@ -327,7 +333,7 @@ struct wl_resource * pointer_bind(struct pointer * pointer,
18 {
19 struct wl_resource * client_resource;
20
21- client_resource = wl_resource_create(client, &wl_pointer_interface, 1, id);
22+ client_resource = wl_resource_create(client, &wl_pointer_interface, 3, id);
23 wl_resource_set_implementation(client_resource, &pointer_implementation,
24 pointer, &unbind);
25 input_focus_add_resource(&pointer->focus, client_resource);
+1,
-1
1@@ -372,7 +372,7 @@ bool swc_seat_initialize(const char * seat_name)
2 goto error0;
3 }
4
5- seat.global = wl_global_create(swc.display, &wl_seat_interface, 2,
6+ seat.global = wl_global_create(swc.display, &wl_seat_interface, 3,
7 NULL, &bind_seat);
8
9 if (!seat.global)