Go to file
Neil Roberts 8b62e2043a Set new state before emitting wake signal in weston_compsitor_wake
The wake handler set up by the shell will try to unlock the screen
which works by setting up an animation which fades in the display. The
animation is started by first scheduling a repaint. Subsequent
repaints are scheduled whenever the previous frame is finished.
However in the case of the wake up signal the state is still
WESTON_COMPOSITOR_SLEEPING when the animation is started.
weston_output_schedule_repaint() ignores attempts to schedule a
repaint if the compositor is sleeping which means the animation never
gets run and will never complete.

The animation gets unstuck and continues if anything else schedules a
repaint after the state has been changed so the bug only gets hit in
certain conditions. The first wake up creates the lock surface which
causes a redraw when the first buffer is attached so the first wake up
is always ok. A redraw can be triggered in the subsequent wake ups
just by moving the mouse.

A good way to trigger the bug is to try to wake up the compositor by
pressing the shift key. If you let the compositor go back to sleep
after waking it up without unlocking it, the second press of the shift
key will not cause a redraw so the animation will not run and it won't
fade in.

https://bugs.freedesktop.org/show_bug.cgi?id=69719
2013-10-01 10:56:34 -07:00
clients Resize the shell when the mode is switched 2013-09-29 14:23:54 -07:00
data window.c: frame_button: Maximize, minimize, close, icon buttons in window frame 2012-05-10 16:19:33 -04:00
man add [xwayland] path weston.ini option 2013-08-16 10:55:59 -07:00
protocol protocol: Add missing xml files to EXTRA_DIST 2012-02-26 22:29:18 -05:00
shared config: Don't crash if we don't have a config file 2013-09-26 16:24:33 -07:00
src Set new state before emitting wake signal in weston_compsitor_wake 2013-10-01 10:56:34 -07:00
tests config-parser: Make weston_config_parse() tkae a file name 2013-09-21 23:05:45 -07:00
wcap Add more missing config.h #includes 2013-08-26 14:59:14 -07:00
.gitignore Update .gitignore 2013-09-23 10:08:03 -07:00
autogen.sh Update autotools configuration 2010-11-06 21:04:03 -04:00
configure.ac compositor-fbdev: drop dependency on libdrm 2013-09-26 16:18:13 -07: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 weston.ini: update path for the flower client 2013-09-23 10:07:48 -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.