diff options
author | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2015-05-26 11:54:52 +0300 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2015-05-26 15:43:02 +0300 |
commit | 23ed5f2526e97d11df35cd8d9a9c7b95b635e225 (patch) | |
tree | 7af424df9b9b92353458a697d2f15603661685fa | |
parent | 039e9be49d25615d43d1197c54fc08e3f17794b3 (diff) | |
download | weston-23ed5f2526e97d11df35cd8d9a9c7b95b635e225.tar.gz weston-23ed5f2526e97d11df35cd8d9a9c7b95b635e225.tar.bz2 weston-23ed5f2526e97d11df35cd8d9a9c7b95b635e225.zip |
desktop-shell: do not black out with startup "none"
Do not use a black blanket surface when the startup animation is
specified to be "none". This is the final fix needed to make the
screenshot test deterministic and independent of weston-desktop-shell.
Previously, the black surface would cover all outputs until
weston-desktop-shell signalled ready. Then, depending on the set
animation, either the black surface was immediately removed (none) or a
fade-in started (fade).
Now, when there is no black surface at all for "none", the compositor
will show garbage until weston-desktop-shell gets everything up. This
may be undesireable but works for tests. To have the old "none"
behaviour back, I would propose to add a new startup-animation value
"black" for it.
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
-rw-r--r-- | desktop-shell/shell.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 8c37963a..fe620cb8 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -5353,9 +5353,12 @@ do_shell_fade_startup(void *data) { struct desktop_shell *shell = data; - if (shell->startup_animation_type == ANIMATION_FADE) + if (shell->startup_animation_type == ANIMATION_FADE) { shell_fade(shell, FADE_IN); - else if (shell->startup_animation_type == ANIMATION_NONE) { + } else { + weston_log("desktop shell: " + "unexpected fade-in animation type %d\n", + shell->startup_animation_type); weston_surface_destroy(shell->fade.view->surface); shell->fade.view = NULL; } @@ -5401,6 +5404,9 @@ shell_fade_init(struct desktop_shell *shell) return; } + if (shell->startup_animation_type == ANIMATION_NONE) + return; + shell->fade.view = shell_fade_create_surface(shell); if (!shell->fade.view) return; |