diff options
| author | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2014-10-01 12:52:22 +0300 |
|---|---|---|
| committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2014-10-08 13:09:56 +0300 |
| commit | 7a0b86ab22e026387b6d529a46d8eb416caa26fa (patch) | |
| tree | 2e94ab48521430cafb6f4a1cca4bbc4aaafc57aa /protocol/wayland.xml | |
| parent | protocol: wl_shell.get_shell_surface gives a role (diff) | |
| download | wayland-7a0b86ab22e026387b6d529a46d8eb416caa26fa.tar wayland-7a0b86ab22e026387b6d529a46d8eb416caa26fa.tar.gz wayland-7a0b86ab22e026387b6d529a46d8eb416caa26fa.tar.bz2 wayland-7a0b86ab22e026387b6d529a46d8eb416caa26fa.tar.lz wayland-7a0b86ab22e026387b6d529a46d8eb416caa26fa.tar.xz wayland-7a0b86ab22e026387b6d529a46d8eb416caa26fa.tar.zst wayland-7a0b86ab22e026387b6d529a46d8eb416caa26fa.zip | |
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 <pekka.paalanen@collabora.co.uk>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com>
Diffstat (limited to 'protocol/wayland.xml')
| -rw-r--r-- | protocol/wayland.xml | 22 |
1 files changed, 19 insertions, 3 deletions
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. </description> + + <enum name="error"> + <entry name="role" value="0" summary="given wl_surface has another role"/> + </enum> + <request name="start_drag"> <description summary="start drag-and-drop operation"> 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. </description> + <enum name="error"> + <entry name="role" value="0" summary="given wl_surface has another role"/> + </enum> + <request name="get_shell_surface"> <description summary="create a shell surface from a 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. </description> @@ -1393,11 +1404,16 @@ and scrolling. </description> + <enum name="error"> + <entry name="role" value="0" summary="given wl_surface has another role"/> + </enum> + <request name="set_cursor"> <description summary="set the pointer surface"> 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 |
