Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Commit

Permalink
tinywl: fix crash if there is no keyboard
Browse files Browse the repository at this point in the history
To reproduce, run

WLR_BACKENDS=headles tinywl -s foot
  • Loading branch information
ifreund committed Aug 31, 2021
1 parent c8d97e2 commit 6e49252
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions tinywl/tinywl.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ static void focus_view(struct tinywl_view *view, struct wlr_surface *surface) {
seat->keyboard_state.focused_surface);
wlr_xdg_toplevel_set_activated(previous, false);
}
struct wlr_keyboard *keyboard = wlr_seat_get_keyboard(seat);
/* Move the view to the front */
wl_list_remove(&view->link);
wl_list_insert(&server->views, &view->link);
Expand All @@ -125,8 +124,13 @@ static void focus_view(struct tinywl_view *view, struct wlr_surface *surface) {
* track of this and automatically send key events to the appropriate
* clients without additional work on your part.
*/
wlr_seat_keyboard_notify_enter(seat, view->xdg_surface->surface,
keyboard->keycodes, keyboard->num_keycodes, &keyboard->modifiers);
struct wlr_keyboard *keyboard = wlr_seat_get_keyboard(seat);
if (keyboard != NULL) {
wlr_seat_keyboard_notify_enter(seat, view->xdg_surface->surface,
keyboard->keycodes, keyboard->num_keycodes, &keyboard->modifiers);
} else {
wlr_seat_keyboard_notify_enter(seat, surface, NULL, 0, NULL);
}
}

static void keyboard_handle_modifiers(
Expand Down

0 comments on commit 6e49252

Please sign in to comment.