wlroots/include
Simon Ser 9e58301df7 surface: allow placing subsurfaces below parent
Prior to this commit, subsurfaces could only be placed above their
parent. Any place_{above,below} request involving the parent would
fail with a protocol error.

However the Wayland protocol allows using the parent surface in the
place_{above,below} requests, and allows subsurfaces to be placed
below their parent.

Weston's implementation adds a dummy wl_list node in the subsurface
list. However this is potentially dangerous: iterating the list
requires making sure the dummy wl_list node is checked for, otherwise
memory corruption will happen.

Instead, split the list in two: one for subsurfaces above the parent,
the other for subsurfaces below.

Tested with wleird's subsurfaces demo client.

Closes: https://github.com/swaywm/wlroots/issues/1865
2021-06-03 14:04:07 +02:00
..
backend backend/drm: move cursor fields to wlr_drm_connector 2021-06-02 11:08:52 +02:00
render render/allocator: add wlr_allocator.buffer_caps 2021-05-31 15:50:13 -04:00
types types/wlr_buffer: introduce wlr_buffer_cap 2021-04-28 20:55:57 +02:00
util util/uuid: replace with util/token, remove libuuid 2021-04-11 19:09:36 +02:00
wlr surface: allow placing subsurfaces below parent 2021-06-03 14:04:07 +02:00
xcursor xcursor: make cursor data and metadata const 2021-02-05 10:04:20 +01:00
xwayland xwm: implement _NET_CLIENT_LIST_STACKING 2021-05-31 10:41:29 +02:00
meson.build render: make GLES2 renderer optional 2021-04-17 16:39:40 +02:00