From 2e097ee42a5ed0ec03bfdada5bc9dc3b428392da Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Fri, 2 Dec 2011 10:39:49 +0200 Subject: [PATCH] compositor: fix re-fading Reorder code in fade_frame() to that if shell->lock() calls wlsc_compositor_wake(), the fade animation will run again. Signed-off-by: Pekka Paalanen --- compositor/compositor.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/compositor/compositor.c b/compositor/compositor.c index 4f25b6da..6ee2298e 100644 --- a/compositor/compositor.c +++ b/compositor/compositor.c @@ -750,14 +750,15 @@ fade_frame(struct wlsc_animation *animation, wlsc_spring_update(&compositor->fade.spring, msecs); if (wlsc_spring_done(&compositor->fade.spring)) { - if (compositor->fade.spring.current > 0.999) { - compositor->state = WLSC_COMPOSITOR_SLEEPING; - compositor->shell->lock(compositor->shell); - } compositor->fade.spring.current = compositor->fade.spring.target; wl_list_remove(&animation->link); wl_list_init(&animation->link); + + if (compositor->fade.spring.current > 0.999) { + compositor->state = WLSC_COMPOSITOR_SLEEPING; + compositor->shell->lock(compositor->shell); + } } wlsc_output_damage(output);