File add-release-requests.patch of Package wayland.2655

From ea1fb51aae9fee7d416a0f2ba617f998cdee696d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@bitplanet.net>
Date: Tue, 13 Aug 2013 20:06:29 +0100
Subject: protocol: Add release requests for wl_pointer, wl_keyboard, and
 wl_touch

We missed destroy requests in the 1.0 protocol and since the scanner
generates local-only *_destroy requests in that case we can't add
destroy requests without breaking protocol.  A client needs to verify
that the server provides a version 3 seat to use the protocol destructor
so the name needs to be something else than wl_*_destroy.

v2 (Rob Bradford): Rebased, bumped the protocol versions and added since
attributes to the requests.

diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index d7bbbb9..aeb0412 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1235,7 +1235,7 @@
     </request>
    </interface>
 
-  <interface name="wl_seat" version="2">
+  <interface name="wl_seat" version="3">
     <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
@@ -1308,7 +1308,7 @@
 
   </interface>
 
-  <interface name="wl_pointer" version="1">
+  <interface name="wl_pointer" version="3">
     <description summary="pointer input device">
       The wl_pointer interface represents one or more input devices,
       such as mice, which control the pointer location and pointer_focus
@@ -1357,6 +1357,10 @@
       <arg name="hotspot_y" type="int" summary="y coordinate in surface-relative coordinates"/>
     </request>
 
+    <request name="release" type="destructor" since="3">
+      <description summary="release the pointer object"/>
+    </request>
+
     <event name="enter">
       <description summary="enter event">
 	Notification that this seat's pointer is focused on a certain
@@ -1456,12 +1460,16 @@
     </event>
   </interface>
 
-  <interface name="wl_keyboard" version="1">
+  <interface name="wl_keyboard" version="3">
     <description summary="keyboard input device">
       The wl_keyboard interface represents one or more keyboards
       associated with a seat.
     </description>
 
+    <request name="release" type="destructor" since="3">
+      <description summary="release the keyboard object"/>
+    </request>
+
     <enum name="keymap_format">
       <description summary="keyboard mapping format">
 	This specifies the format of the keymap provided to the
@@ -1539,7 +1547,7 @@
     </event>
   </interface>
 
-  <interface name="wl_touch" version="1">
+  <interface name="wl_touch" version="3">
     <description summary="touchscreen input device">
       The wl_touch interface represents a touchscreen
       associated with a seat.
@@ -1551,6 +1559,10 @@
       contact point can be identified by the ID of the sequence.
     </description>
 
+    <request name="release" type="destructor" since="3">
+      <description summary="release the touch object"/>
+    </request>
+
     <event name="down">
       <description summary="touch down event and beginning of a touch sequence">
 	A new touch point has appeared on the surface. This touch point is
-- 
cgit v0.10.2

openSUSE Build Service is sponsored by