shell: Store parent–child links between shsurfs for window stacking
authorPhilip Withnall <philip.withnall@collabora.co.uk>
Mon, 25 Nov 2013 18:01:44 +0000 (18:01 +0000)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 2 Dec 2013 19:44:51 +0000 (11:44 -0800)
commit648a4dd3ece4e5a2172361fbf82c634be0e17894
tree752e847e32da8ae946b87d3dfab5e2c6b6804b8d
parented8f1a9e4b6a4787e9d154957b55b37164801df7
shell: Store parent–child links between shsurfs for window stacking

This ensures transient surfaces are included in the layer of their
parent, even if the parent later changes layers. It achieves this by
recursively changing the layers of all children of a surface when that
surface’s layer is changed. The recursion is unbounded unless transient
surfaces are restricted to not being children of other popup or transient
surfaces.

This fixes a bug whereby a surface which is transient for a fullscreen
surface could end up being stacked below it.

https://bugs.freedesktop.org/show_bug.cgi?id=69443
src/shell.c