diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c index 89fc2a79..847859c6 100644 --- a/desktop-shell/shell.c +++ b/desktop-shell/shell.c @@ -1886,12 +1886,6 @@ shell_surface_activate(struct shell_surface *shsurf) weston_desktop_surface_set_activated(shsurf->desktop_surface, true); } -static void -handle_keyboard_focus(struct wl_listener *listener, void *data) -{ - /* FIXME: To be removed later. */ -} - /* The surface will be inserted into the list immediately after the link * returned by this function (i.e. will be stacked immediately above the * returned link). */ @@ -2241,6 +2235,7 @@ get_focused_output(struct weston_compositor *compositor) static void desktop_shell_destroy_seat(struct shell_seat *shseat) { + wl_list_remove(&shseat->keyboard_focus_listener.link); wl_list_remove(&shseat->caps_changed_listener.link); wl_list_remove(&shseat->pointer_focus_listener.link); @@ -2263,23 +2258,12 @@ destroy_shell_seat(struct wl_listener *listener, void *data) static void shell_seat_caps_changed(struct wl_listener *listener, void *data) { - struct weston_keyboard *keyboard; struct weston_pointer *pointer; struct shell_seat *seat; seat = container_of(listener, struct shell_seat, caps_changed_listener); - keyboard = weston_seat_get_keyboard(seat->seat); pointer = weston_seat_get_pointer(seat->seat); - if (keyboard && - wl_list_empty(&seat->keyboard_focus_listener.link)) { - wl_signal_add(&keyboard->focus_signal, - &seat->keyboard_focus_listener); - } else if (!keyboard) { - wl_list_remove(&seat->keyboard_focus_listener.link); - wl_list_init(&seat->keyboard_focus_listener.link); - } - if (pointer && wl_list_empty(&seat->pointer_focus_listener.link)) { wl_signal_add(&pointer->focus_signal, @@ -2307,7 +2291,6 @@ create_shell_seat(struct desktop_shell *shell, struct weston_seat *seat) wl_signal_add(&seat->destroy_signal, &shseat->seat_destroy_listener); - shseat->keyboard_focus_listener.notify = handle_keyboard_focus; wl_list_init(&shseat->keyboard_focus_listener.link); shseat->pointer_focus_listener.notify = handle_pointer_focus;