summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPekka Paalanen <ppaalanen@gmail.com>2011-11-15 13:34:50 +0200
committerKristian Høgsberg <krh@bitplanet.net>2011-11-15 14:21:05 -0500
commit2841111025323a184986a98e11e9d83b86cebb6b (patch)
tree9c3db9a315050ecee0ac4a38751ff399f3600fcd
parentaf867cc2f79a57bec7911352ed7dfc36427632cd (diff)
compositor: remove idle_inhibit optimization
With the idle_inhibit optimization, wlsc_compositor_wake() is a no-op if idle_inhibit > 0. When the shell is waking up the compositor from SLEEPING state as an indirect response to input activity, it does not work. The call path is: notify_key() / notify_button() wlsc_compositor_idle_inhibit() wlsc_compositor_activity() shell->unlock() send prepare_lock_surface event idle_inhibit++ and when the desktop-shell client responds to the event: desktop_shell_set_lock_surface() / desktop_shell_unlock() wlsc_compositor_wake() no-op, because idle_inhibit > 0 Fix this by removing the idle_inhibit check from wlsc_compositor_wake(). The optimization did not work for pointer motion while no keys pressed, anyway, so the performance hit is probably unobservable. Now the compositor wakes up also on key or button press. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
-rw-r--r--compositor/compositor.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/compositor/compositor.c b/compositor/compositor.c
index 42aff23..803bd2f 100644
--- a/compositor/compositor.c
+++ b/compositor/compositor.c
@@ -1331,9 +1331,6 @@ static const struct wl_grab_interface implicit_grab_interface = {
WL_EXPORT void
wlsc_compositor_wake(struct wlsc_compositor *compositor)
{
- if (compositor->idle_inhibit)
- return;
-
wlsc_compositor_fade(compositor, 0.0);
compositor->state = WLSC_COMPOSITOR_ACTIVE;