Go to file
Pekka Paalanen b188e912c3 compositor: fix sub-surface view stacking order
If you opened a window with sub-surfaces, and then raised another window
on top of that, the underlaying window's main surface was stacked
properly, but the sub-surfaces remained on top of the raised window.
IOW, the raised window was in between the other window and its
sub-surfaces.

This got broken in a7af70436b, "Split the
geometry information from weston_surface out into weston_view".

Fix the issues:

In view_list_add_subsurface_view(), the views need to be added to the
end of the list, not to the head. This alone fixes the above problem,
but causes the sub-surface views to be stacked irrespective of their
surface stacking order. The stacking order in this test case is fixed by
the changes to view_list_add(), but for sub-sub-surfaces a similar
change is needed in view_list_add_subsurface_view() too.

In view_list_add(), build the view list in the sub-surface stacking
order, instead of pulling the parent surface always on top. Also handle
the case, when the subsurface_list is completely empty: the parent
surface's view must still be added.

Reported-by: Julien Isorce <julien.isorce@collabora.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Cc: Jason Ekstrand <jason@jlekstrand.net>
2013-11-19 12:57:24 -08:00
clients protocol: move sub-surfaces to Wayland 2013-11-15 16:23:17 -08:00
data window.c: frame_button: Maximize, minimize, close, icon buttons in window frame 2012-05-10 16:19:33 -04:00
man Add [core] backend option 2013-11-15 16:17:51 -08:00
protocol protocol: move sub-surfaces to Wayland 2013-11-15 16:23:17 -08:00
shared cairo-util: Rework frame button handling 2013-11-07 16:35:06 -08:00
src compositor: fix sub-surface view stacking order 2013-11-19 12:57:24 -08:00
tests protocol: move sub-surfaces to Wayland 2013-11-15 16:23:17 -08:00
wcap Add more missing config.h #includes 2013-08-26 14:59:14 -07:00
.gitignore .gitignore: Add .valid files 2013-10-25 12:21:51 -07:00
autogen.sh Update autotools configuration 2010-11-06 21:04:03 -04:00
configure.ac compositor-wayland: Add an actual frame around the compositor window 2013-11-07 16:34:10 -08:00
COPYING Add COPYING 2012-04-25 10:17:42 -04:00
Makefile.am autotools: Don't use wayland-scanner.m4 2013-08-20 11:15:19 -07:00
notes.txt Add informal notes file 2012-10-25 15:00:42 -04:00
README Flesh out README a bit, link to building instructions 2012-07-20 12:26:23 -04:00
wayland-scanner.mk autotools: Don't use wayland-scanner.m4 2013-08-20 11:15:19 -07:00
weston.ini compositor-drm: Support configuring the framebuffer format from weston.ini 2013-10-16 16:31:42 -07:00

Weston

Weston is the reference implementation of a Wayland compositor, and a
useful compositor in its own right.  Weston has various backends that
lets it run on Linux kernel modesetting and evdev input as well as
under X11.  Weston ships with a few example clients, from simple
clients that demonstrate certain aspects of the protocol to more
complete clients and a simplistic toolkit.  There is also a quite
capable terminal emulator (weston-terminal) and an toy/example desktop
shell.  Finally, weston also provides integration with the Xorg server
and can pull X clients into the Wayland desktop and act as a X window
manager.

Refer to http://wayland.freedesktop.org/building.html for buiding
weston and its dependencies.