wayland-protocols/stable
Daniel Stone 11fecf0808 xdg-shell: Make xdg_surface fail when surface has role
It is illegal for a surface to have more than one role. The only thing
which can be done with an xdg_surface (apart from destroying it) is to
assign the surface a role with the get_toplevel, get_popup, etc
requests.

On Mutter, calling get_xdg_surface on a surface which already has an
assigned role generates the 'role' protocol error. Weston will not send
an error, however it may later abort on a failed assert during cleanup.
wlroots allows this case, and only sends the role error when assigning
an explicit role through creating a toplevel or popup.

On the grounds that it makes no sense to create an xdg_surface for a
wl_surface which already has a role, make it explicitly illegal.

cf. wayland/weston!559, wayland/weston!627

Signed-off-by: Daniel Stone <daniels@collabora.com>
2021-07-21 13:07:59 +00:00
..
presentation-time presentation-time: Add enum attribute to 'flags' 2021-01-03 18:57:27 +01:00
viewporter (multiple): Remove inconsistent line breaks 2016-11-21 11:20:27 +00:00
xdg-shell xdg-shell: Make xdg_surface fail when surface has role 2021-07-21 13:07:59 +00:00