wayland/subsurface: Only show subsurface if parent is mapped
The spec states:
A sub-surface becomes mapped, when a non-NULL wl_buffer is applied
and the parent surface is mapped. The order of which one happens
first is irrelevant. A sub-surface is hidden if the parent becomes hidden,
or if a NULL wl_buffer is applied. These rules apply recursively
through the tree of surfaces.
In the past we relied on Clutter actor behaviour to realize the recursive part - which then broke in !664 (merged) when we changed the actor hierachy in regards to subsurfaces.
Explicitly encode the desired behaviour in MetaWaylandSubsurface
, fixing
the issue and making it future proof.
Closes #1384 (closed)