Skip to content
  • Vlad Zahorodnii's avatar
    Allow placing subsurfaces below parent surface · 17cccfa2
    Vlad Zahorodnii authored
    According to the spec, if the parent surface is specified in the
    wl_subsurface.place_below(), the subsurface has to be rendered below the
    parent surface.
    
    At the moment, kwaylandserver doesn't handle that case properly. It is
    not possible for sub-surfaces to go below the parent surface.
    
    Another issue is that we wrongly assume that the place_above request
    will put the subsurface on top of the stack if the parent surface is
    specified as sibling. It doesn't seem like that's the case, not
    according to the spec.
    
    This change splits the child sub-surface list in two lists - below and
    above. The alternative solution is to store the parent surface in the
    children list, but it's an error prone solution and it's conceptually
    weird.
    17cccfa2