After these effects, alpha could not have been 1.0, preventing not redrawing behind opaque windows.
Signed-off-by: Axel Davy <[email protected]> --- src/shell.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/shell.c b/src/shell.c index cd94aa5..d7e2d1e 100644 --- a/src/shell.c +++ b/src/shell.c @@ -3485,6 +3485,15 @@ weston_surface_set_initial_position (struct weston_surface *surface, } static void +surface_restore_alpha(struct weston_surface_animation *animation, void *data) +{ + struct weston_surface *surface = data; + + surface->alpha = 1.0; + weston_surface_geometry_dirty(surface); +} + +static void map(struct desktop_shell *shell, struct weston_surface *surface, int32_t width, int32_t height, int32_t sx, int32_t sy) { @@ -3576,10 +3585,12 @@ map(struct desktop_shell *shell, struct weston_surface *surface, { switch (shell->win_animation_type) { case ANIMATION_FADE: - weston_fade_run(surface, 0.0, 1.0, 300.0, NULL, NULL); + weston_fade_run(surface, 0.0, 1.0, 300.0, + surface_restore_alpha, surface); break; case ANIMATION_ZOOM: - weston_zoom_run(surface, 0.5, 1.0, NULL, NULL); + weston_zoom_run(surface, 0.5, 1.0, + surface_restore_alpha, surface); break; default: break; -- 1.8.1.2 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
