[PATCH weston] desktop-shell: do not black out with startup "none"

Pekka Paalanen ppaalanen at gmail.com
Tue May 26 01:54:52 PDT 2015


From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>

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 at collabora.co.uk>

---

Bryce, this patch should be good to land once someone gives it a
tested-by or a reviewed-by. When this lands, I think RC2 is ready for
release.

Thanks,
pq
---
 desktop-shell/shell.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 452cd5f..515d05c 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -5336,9 +5336,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;
 	}
@@ -5384,6 +5387,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;
-- 
2.3.6



More information about the wayland-devel mailing list