2015-04-07 12:01 GMT+03:00 Jonas Ådahl <[email protected]>: > 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 <[email protected]> > --- > protocol/xdg-shell.xml | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml > index 09ce019..9dbf193 100644 > --- a/protocol/xdg-shell.xml > +++ b/protocol/xdg-shell.xml > @@ -79,7 +79,12 @@ > <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 was > previously > + an xdg_surface or if it had any other role, an error is raised.
This surprises me a bit. My understanding was that the consensus about surface roles is that you cannot change them but you can destroy and request again the same role. I don't see what is the reason to disallow that, and on the other hand, with the qtwayland hat on, that would be annoying when hiding/showing windows. Thanks, Giulio > + > + 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"/> > @@ -88,10 +93,15 @@ > <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 was previously > + an xdg_popup 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 > > _______________________________________________ > wayland-devel mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
