The previous clarification did not follow the current implementation in Weston, where when a surface stops being a cursor or an icon, it becomes a plain unmapped surface again.
Rewrite the related paragraphs, and fix some typos while at it. For start drag, make it explicit of which surface argument we are talking about. v2: Make the input region undefined when the use ends. Most likely no-one will re-use these surfaces for anything else than the same use case, so leave some slack for the implementations to avoid useless work on resetting the regions. Reported-by: Ander Conselvan de Oliveira <[email protected]> Signed-off-by: Pekka Paalanen <[email protected]> --- protocol/wayland.xml | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-) diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 1903d1c..275ea28 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -357,9 +357,11 @@ relative position. Attach requests must be confirmed with wl_surface.commit as usual. - The current and pending input regions of the wl_surface are + The current and pending input regions of the icon wl_surface are cleared, and wl_surface.set_input_region is ignored until the - wl_surface is destroyed. + wl_surface is no longer used as the icon surface. When the use + as an icon ends, the the current and pending input regions + become undefined, and the wl_surface is unmapped. </description> <arg name="source" type="object" interface="wl_data_source" allow-null="true"/> <arg name="origin" type="object" interface="wl_surface"/> @@ -889,8 +891,8 @@ <request name="set_cursor"> <description summary="set the pointer surface"> Set the pointer surface, i.e., the surface that contains the - pointer image. This request only takes effect if the pointer - focus for this device is one of the requesting client surfaces + pointer image (cursor). This request only takes effect if the pointer + focus for this device is one of the requesting client's surfaces or the surface parameter is the current pointer surface. If there was a previous surface set with this request it is replaced. If surface is NULL, the pointer image is hidden. @@ -905,13 +907,15 @@ passed to the request. Attach must be confirmed by wl_surface.commit as usual. - The hotspot can also be updated by passing the current set + The hotspot can also be updated by passing the currently set pointer surface to this request with new values for hotspot_x - and/or hotspot_y. + and hotspot_y. The current and pending input regions of the wl_surface are cleared, and wl_surface.set_input_region is ignored until the - wl_surface is destroyed. + wl_surface is no longer used as the cursor. When the use as a + cursor ends, the current and pending input regions become + undefined, and the wl_surface is unmapped. </description> <arg name="serial" type="uint"/> -- 1.7.8.6 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
