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