Subsurfaces of subsurfaces are mapped despite parent does not have a buffer
Surfaces without attached buffer should apparently considered unmapped, including all their subsurfaces. ATM Mutter doesn't check for the surfaces parent state if the parent is a subsurface. This is likely a regression from !664 (merged)
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.
Edited by Robert Mader