[PATCH 4/4] compositor: fix repaint on first wakeup

Pekka Paalanen ppaalanen at gmail.com
Mon Nov 7 07:12:34 PST 2011


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 at gmail.com>
---
 compositor/compositor.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/compositor/compositor.c b/compositor/compositor.c
index 6d35586..2a8f0ff 100644
--- a/compositor/compositor.c
+++ b/compositor/compositor.c
@@ -1333,8 +1333,8 @@ static const struct wl_grab_interface implicit_grab_interface = {
 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);
-- 
1.7.3.4



More information about the wayland-devel mailing list