From 7dc4a3ecd71cf41dd1800c6afd3b16c83a90f031 Mon Sep 17 00:00:00 2001 From: Simon Zeni Date: Tue, 1 Mar 2022 14:49:30 -0500 Subject: interface/wlr_keyboard: rework destroy sequence The destroy member in wlr_keyboard_impl has been removed. The function `wlr_keyboard_finish` has been introduce to clean up the resources owned by a wlr_keyboard. `wlr_input_device_destroy` no longer destroys the wlr_keyboard, attempting to destroy a wlr_keyboard will result in a no-op. The field `name` has been added to the wlr_keyboard_impl to be able to identify a given wlr_keyboard device. --- include/wlr/interfaces/wlr_keyboard.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'include/wlr/interfaces') diff --git a/include/wlr/interfaces/wlr_keyboard.h b/include/wlr/interfaces/wlr_keyboard.h index 4bcef57b..3f4c4255 100644 --- a/include/wlr/interfaces/wlr_keyboard.h +++ b/include/wlr/interfaces/wlr_keyboard.h @@ -13,13 +13,18 @@ #include struct wlr_keyboard_impl { - void (*destroy)(struct wlr_keyboard *keyboard); + const char *name; void (*led_update)(struct wlr_keyboard *keyboard, uint32_t leds); }; void wlr_keyboard_init(struct wlr_keyboard *keyboard, - const struct wlr_keyboard_impl *impl, const char *name); -void wlr_keyboard_destroy(struct wlr_keyboard *keyboard); + const struct wlr_keyboard_impl *impl, const char *name); + +/** + * Cleans up all of the resources owned by wlr_keyboard. + */ +void wlr_keyboard_finish(struct wlr_keyboard *keyboard); + void wlr_keyboard_notify_key(struct wlr_keyboard *keyboard, struct wlr_event_keyboard_key *event); void wlr_keyboard_notify_modifiers(struct wlr_keyboard *keyboard, -- cgit v1.2.3