protocol: add seat missing_capability error
authorSimon Ser <contact@emersion.fr>
Thu, 28 May 2020 08:00:12 +0000 (10:00 +0200)
committerDaniel Stone <daniels@collabora.com>
Fri, 5 Jun 2020 09:36:39 +0000 (09:36 +0000)
The protocol says:

> It is a protocol violation to issue this request on a seat that
> has never had the pointer capability.

But never defines an error code.

Signed-off-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/165

protocol/wayland.xml

index 5dce532..1239691 100644 (file)
       <entry name="touch" value="4" summary="the seat has touch devices"/>
     </enum>
 
+    <enum name="error">
+      <description summary="wl_seat error values">
+       These errors can be emitted in response to wl_seat requests.
+      </description>
+      <entry name="missing_capability" value="0"
+            summary="get_pointer, get_keyboard or get_touch called on seat without the matching capability"/>
+    </enum>
+
     <event name="capabilities">
       <description summary="seat capabilities changed">
        This is emitted whenever a seat gains or loses the pointer,
        This request only takes effect if the seat has the pointer
        capability, or has had the pointer capability in the past.
        It is a protocol violation to issue this request on a seat that has
-       never had the pointer capability.
+       never had the pointer capability. The missing_capability error will
+       be sent in this case.
       </description>
       <arg name="id" type="new_id" interface="wl_pointer" summary="seat pointer"/>
     </request>
        This request only takes effect if the seat has the keyboard
        capability, or has had the keyboard capability in the past.
        It is a protocol violation to issue this request on a seat that has
-       never had the keyboard capability.
+       never had the keyboard capability. The missing_capability error will
+       be sent in this case.
       </description>
       <arg name="id" type="new_id" interface="wl_keyboard" summary="seat keyboard"/>
     </request>
        This request only takes effect if the seat has the touch
        capability, or has had the touch capability in the past.
        It is a protocol violation to issue this request on a seat that has
-       never had the touch capability.
+       never had the touch capability. The missing_capability error will
+       be sent in this case.
       </description>
       <arg name="id" type="new_id" interface="wl_touch" summary="seat touch interface"/>
     </request>