wlroots/include/wlr
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: introduce wlr_backend_finish 2021-05-21 22:13:54 +02:00
interfaces output: take a wlr_buffer in set_cursor 2021-06-02 11:08:52 +02:00
render render: add wlr_renderer_begin_with_buffer 2021-06-01 13:12:28 -04:00
types surface: allow placing subsurfaces below parent 2021-06-03 14:04:07 +02:00
util util/edges: use bitmask for wlr_edges 2020-10-31 23:15:21 +01:00
backend.h backend: automatically create allocator 2021-05-21 22:13:54 +02:00
config.h.in render: make GLES2 renderer optional 2021-04-17 16:39:40 +02:00
meson.build build: use dictionnary for features instead of configuration_data 2021-02-15 16:32:33 +01:00
version.h.in Revert "Revert "Merge pull request #1194 from ascent12/meson_feature"" 2018-08-24 19:35:02 +12:00
xcursor.h Initial pass on API stability guarantees 2018-07-29 19:20:34 -04:00
xwayland.h xwm: implement _NET_CLIENT_LIST_STACKING 2021-05-31 10:41:29 +02:00