[PATCH] wayland: add release request on wl_seat

David FORT rdp.effort at gmail.com
Tue Sep 29 00:43:01 PDT 2015

This is required if we want to correctly remove a wl_seat compositor-side. A
wl_seat is announced as a global object, then it is bound by the client. When
the compositor wants to remove the seat, it shall announce the global removal of
the object. The client can then call the release request on the wl_seat (which
means it won't use that object anymore). When all clients have released the
wl_seat, it can be destroyed by the compositor.
 protocol/wayland.xml | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 42c9309..2c7a675 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1329,7 +1329,7 @@
-  <interface name="wl_seat" version="4">
+  <interface name="wl_seat" version="5">
     <description summary="group of input devices">
       A seat is a group of keyboards, pointer and touch devices. This
       object is published as a global during start up, or when such a
@@ -1400,6 +1400,16 @@
       <arg name="name" type="string"/>
+    <!-- Version 5 additions -->
+    <request name="release" type="destructor" since="5">
+      <description summary="release the seat object">
+      This request is called by the client to inform that it will not address the seat
+      object. The compositor can destroy this seat when all clients have called
+      this request.
+      </description>
+    </request>
   <interface name="wl_pointer" version="3">

More information about the wayland-devel mailing list