diff options
author | Daniel Stone <daniels@collabora.com> | 2021-05-18 17:21:42 +0100 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2021-07-21 13:07:59 +0000 |
commit | 11fecf0808602b0028122f11afb170ed36cec8dd (patch) | |
tree | 5787c7d2dfe4232c8f4bb0711b0fbdedf1c4a654 /wayland-protocols.pc.in | |
parent | 36cee4bdbcaf3a75f567315809953b5e21d703da (diff) |
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>
Diffstat (limited to 'wayland-protocols.pc.in')
0 files changed, 0 insertions, 0 deletions