From: Pekka Paalanen Date: Wed, 1 Oct 2014 09:52:22 +0000 (+0300) Subject: protocol: define error codes for role reassignment X-Git-Tag: 1.6.91~64 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a0b86ab22e026387b6d529a46d8eb416caa26fa;p=platform%2Fupstream%2Fwayland.git protocol: define error codes for role reassignment On the interfaces where it was missing: - wl_data_device - wl_shell - wl_pointer add an error code for requests that set a wl_surface role when the wl_surface already has a different role. This is needed for compositors to appropriately report wl_surface role violations. Signed-off-by: Pekka Paalanen Reviewed-by: Jasper St. Pierre Acked-by: Jason Ekstrand --- diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 3645208..762482e 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -525,6 +525,11 @@ A wl_data_device provides access to inter-client data transfer mechanisms such as copy-and-paste and drag-and-drop. + + + + + This request asks the compositor to start a drag-and-drop @@ -546,7 +551,8 @@ hotspot, but subsequent wl_surface.attach request can move the relative position. Attach requests must be confirmed with wl_surface.commit as usual. The icon surface is given the role of - a drag-and-drop icon. + a drag-and-drop icon. If the icon surface already has another role, + it raises a protocol error. The current and pending input regions of the icon wl_surface are cleared, and wl_surface.set_input_region is ignored until the @@ -677,10 +683,15 @@ a basic surface. + + + + Create a shell surface for an existing surface. This gives - the wl_surface the role of a shell surface. + the wl_surface the role of a shell surface. If the wl_surface + already has another role, it raises a protocol error. Only one shell surface can be associated with a given surface. @@ -1393,11 +1404,16 @@ and scrolling. + + + + Set the pointer surface, i.e., the surface that contains the pointer image (cursor). This request gives the surface the role - of a cursor. + of a cursor. If the surface already has another role, it raises + a protocol error. The cursor actually changes only if the pointer focus for this device is one of the requesting client's surfaces