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>
dev
Pekka Paalanen 13 years ago committed by Kristian Høgsberg
parent 2841111025
commit ebc598ebf0
  1. 2
      compositor/compositor.c

@ -1331,8 +1331,8 @@ static const struct wl_grab_interface implicit_grab_interface = {
WL_EXPORT void WL_EXPORT void
wlsc_compositor_wake(struct wlsc_compositor *compositor) wlsc_compositor_wake(struct wlsc_compositor *compositor)
{ {
wlsc_compositor_fade(compositor, 0.0);
compositor->state = WLSC_COMPOSITOR_ACTIVE; compositor->state = WLSC_COMPOSITOR_ACTIVE;
wlsc_compositor_fade(compositor, 0.0);
wl_event_source_timer_update(compositor->idle_source, wl_event_source_timer_update(compositor->idle_source,
option_idle_time * 1000); option_idle_time * 1000);

Loading…
Cancel
Save