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>dev
parent
af867cc2f7
commit
2841111025
Loading…
Reference in new issue