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>
diff --git a/compositor/compositor.c b/compositor/compositor.c
index 4f25b6d..6ee2298 100644
--- a/compositor/compositor.c
+++ b/compositor/compositor.c
@@ -750,14 +750,15 @@
 
 	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);