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 @@
     </request>
    </interface>
 
-  <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"/>
     </event>
 
+    <!-- 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>
 
   <interface name="wl_pointer" version="3">
-- 
1.9.1

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to