[PATCH] xdg-shell: Document error conditions when popup and surface getters
Jonas Ådahl
jadahl at gmail.com
Tue May 5 00:35:15 PDT 2015
Document that a wl_surface can only be assigned either a xdg_popup or
xdg_surface once and that if the client still stries to do that an error
is raised.
Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
---
Changes since the previous versions:
Explicitly allow to create a new xdg_surfce/popup from a previously used
wl_surface as long as it had the same role and its corresponding role
object (xdg_popup/surface) has been destroyed.
Jonas
protocol/xdg-shell.xml | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml
index 1629bd0..d0aeb51 100644
--- a/protocol/xdg-shell.xml
+++ b/protocol/xdg-shell.xml
@@ -78,7 +78,13 @@
<request name="get_xdg_surface">
<description summary="create a shell surface from a surface">
This creates an xdg_surface for the given surface and gives it the
- xdg_surface role. See the documentation of xdg_surface for more details.
+ xdg_surface role. A wl_surface can only be given an xdg_surface role
+ once. If get_xdg_surface is called with a wl_surface that already has
+ an active xdg_surface associated with it, or if it had any other role,
+ an error is raised.
+
+ See the documentation of xdg_surface for more details about what an
+ xdg_surface is and how it is used.
</description>
<arg name="id" type="new_id" interface="xdg_surface"/>
<arg name="surface" type="object" interface="wl_surface"/>
@@ -87,10 +93,16 @@
<request name="get_xdg_popup">
<description summary="create a popup for a surface">
This creates an xdg_popup for the given surface and gives it the
- xdg_popup role. See the documentation of xdg_popup for more details.
+ xdg_popup role. A wl_surface can only be given an xdg_popup role
+ once. If get_xdg_popup is called with a wl_surface that already has
+ an active xdg_popup associated with it, or if it had any other role,
+ an error is raised.
This request must be used in response to some sort of user action
like a button press, key press, or touch down event.
+
+ See the documentation of xdg_popup for more details about what an
+ xdg_popup is and how it is used.
</description>
<arg name="id" type="new_id" interface="xdg_popup"/>
<arg name="surface" type="object" interface="wl_surface"/>
--
2.1.4
More information about the wayland-devel
mailing list