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 <ppaalanen@gmail.com>
dev
Pekka Paalanen 13 years ago
parent baeb6a1dc1
commit 2e097ee42a
  1. 9
      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);

Loading…
Cancel
Save