Reset input state when locking compositor

Fix #498
This commit is contained in:
Mikkel Oscar Lyderik 2016-03-04 17:10:43 +01:00
parent 79bfd620d6
commit ceb0ef64c2

View file

@ -5,6 +5,7 @@
#include "wayland-swaylock-server-protocol.h" #include "wayland-swaylock-server-protocol.h"
#include "layout.h" #include "layout.h"
#include "log.h" #include "log.h"
#include "input_state.h"
#include "extensions.h" #include "extensions.h"
struct desktop_shell_state desktop_shell; struct desktop_shell_state desktop_shell;
@ -123,6 +124,8 @@ static void set_lock_surface(struct wl_client *client, struct wl_resource *resou
wlc_view_set_state(view->handle, WLC_BIT_FULLSCREEN, true); wlc_view_set_state(view->handle, WLC_BIT_FULLSCREEN, true);
workspace->fullscreen = view; workspace->fullscreen = view;
desktop_shell.is_locked = true; desktop_shell.is_locked = true;
// reset input state
input_init();
set_focused_container(view); set_focused_container(view);
arrange_windows(workspace, -1, -1); arrange_windows(workspace, -1, -1);
list_add(desktop_shell.lock_surfaces, surface); list_add(desktop_shell.lock_surfaces, surface);