compositor: fix repaint on first wakeup
wlsc_compositor_fade() ends up in wlsc_compositor_schedule_repaint(),
which is a no-op if compositor is SLEEPING.
On wakeup, first set status to ACTIVE, then call wlsc_compositor_fade()
to start and actually show the animation.
Before, fade was called first, which reset the animation, but did not
cause a repaint. The following wakeup (any input event) would then cause
a repaint, showing the animation from the middle or end of it.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/compositor/compositor.c b/compositor/compositor.c
index 803bd2f..4052f30 100644
--- a/compositor/compositor.c
+++ b/compositor/compositor.c
@@ -1331,8 +1331,8 @@
WL_EXPORT void
wlsc_compositor_wake(struct wlsc_compositor *compositor)
{
- wlsc_compositor_fade(compositor, 0.0);
compositor->state = WLSC_COMPOSITOR_ACTIVE;
+ wlsc_compositor_fade(compositor, 0.0);
wl_event_source_timer_update(compositor->idle_source,
option_idle_time * 1000);