On Tue, Jun 16, 2015 at 5:47 PM, Jonas Ådahl <jad...@gmail.com> wrote:

> On Tue, Jun 16, 2015 at 04:46:55PM +0200, Arnaud Vrac wrote:
> > Hi,
> >
> > I'm wondering if a behaviour of weston related to subsurfaces is either a
> > bug or intended. The protocol description is not clear on what happens in
> > the following cases:
> >
> > Suppose I have a shell surface (BLUE) and two subsurfaces (RED, GREEN). I
> > want to stack them to I get RED, GREEN, BLUE from bottom to top.
> >
> > If I do:
> >
> > wl_subsurface_place_below(GREEN->subsurface, BLUE->surface);
> > wl_subsurface_place_below(RED->subsurface, GREEN->surface);
> >
> > It works, but if I do:
> >
> > wl_subsurface_place_below(RED->subsurface, GREEN->surface);
> > wl_subsurface_place_below(GREEN->subsurface, BLUE->surface);
> >
> > The order is GREEN, RED, BLUE instead.
> >
> > Logically the sibling relative order should be kept in the second case,
> but
> > it's not. The protocol is not clear on what should happen, what is the
> > expected result ?
>
> The protocol says "This sub-surface is taken from the stack, and put
> back just above the reference surface, changing the z-order of the
> sub-surfaces." Considering this, if you first placed a surface below
> another, placing again, that relationship may have been broken by the
> new operation. In other words, the "tree" is not moved, just the
> subsurface you placed.
>

Alright, thanks for the clarification. The current implementation makes
sense then.

-- 
Arnaud Vrac
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to