wayland: Set an specific role on surfaces passed in wp_tablet_tool.set_cursor

This is now separated from the generic cursor one. This means that wl_surfaces
can't be shared across wl_pointer and wp_tablet_tool. This is a change in
tablet protocol v2.
This commit is contained in:
Carlos Garnacho 2016-05-12 15:58:19 +02:00
parent 2ff629a984
commit cd911584eb

View File

@ -31,7 +31,7 @@
#include <wayland-server.h> #include <wayland-server.h>
#include "tablet-unstable-v2-server-protocol.h" #include "tablet-unstable-v2-server-protocol.h"
#include "meta-wayland-private.h" #include "meta-wayland-private.h"
#include "meta-wayland-surface-role-cursor.h" #include "meta-wayland-surface-role-tablet-cursor.h"
#include "meta-surface-actor-wayland.h" #include "meta-surface-actor-wayland.h"
#include "meta-wayland-tablet.h" #include "meta-wayland-tablet.h"
#include "meta-wayland-tablet-seat.h" #include "meta-wayland-tablet-seat.h"
@ -439,7 +439,7 @@ tool_set_cursor (struct wl_client *client,
if (surface && if (surface &&
!meta_wayland_surface_assign_role (surface, !meta_wayland_surface_assign_role (surface,
META_TYPE_WAYLAND_SURFACE_ROLE_CURSOR)) META_TYPE_WAYLAND_SURFACE_ROLE_TABLET_CURSOR))
{ {
wl_resource_post_error (resource, WL_POINTER_ERROR_ROLE, wl_resource_post_error (resource, WL_POINTER_ERROR_ROLE,
"wl_surface@%d already has a different role", "wl_surface@%d already has a different role",