diff --git a/wayland/registry.c b/wayland/registry.c index 1ebc46e7..2df605a8 100644 --- a/wayland/registry.c +++ b/wayland/registry.c @@ -193,7 +193,7 @@ static void seat_handle_capabilities(void *data, struct wl_seat *seat, if ((caps & WL_SEAT_CAPABILITY_KEYBOARD) && !reg->keyboard) { reg->keyboard = wl_seat_get_keyboard(reg->seat); wl_keyboard_add_listener(reg->keyboard, &keyboard_listener, reg); - } else if ((caps & WL_SEAT_CAPABILITY_KEYBOARD) && reg->keyboard) { + } else if (!(caps & WL_SEAT_CAPABILITY_KEYBOARD) && reg->keyboard) { wl_keyboard_destroy(reg->keyboard); reg->keyboard = NULL; }