diff options
author | Simon Zeni <simon@bl4ckb0ne.ca> | 2022-03-01 14:49:30 -0500 |
---|---|---|
committer | Kirill Primak <vyivel@eclair.cafe> | 2022-03-07 16:37:41 +0000 |
commit | 7dc4a3ecd71cf41dd1800c6afd3b16c83a90f031 (patch) | |
tree | bf2326174d0d01369bec23763beb90eba870b5cd /backend/x11 | |
parent | 39b68ea47a661b1f7562ce283652de08f222b2be (diff) | |
download | wlroots-7dc4a3ecd71cf41dd1800c6afd3b16c83a90f031.tar.xz |
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.
Diffstat (limited to 'backend/x11')
-rw-r--r-- | backend/x11/backend.c | 5 | ||||
-rw-r--r-- | backend/x11/input_device.c | 6 |
2 files changed, 4 insertions, 7 deletions
diff --git a/backend/x11/backend.c b/backend/x11/backend.c index 64bcf475..dbbd74e8 100644 --- a/backend/x11/backend.c +++ b/backend/x11/backend.c @@ -185,7 +185,7 @@ static void backend_destroy(struct wlr_backend *backend) { wlr_output_destroy(&output->wlr_output); } - wlr_keyboard_destroy(&x11->keyboard); + wlr_keyboard_finish(&x11->keyboard); wlr_backend_finish(backend); @@ -637,7 +637,8 @@ struct wlr_backend *wlr_x11_backend_create(struct wl_display *display, } #endif - wlr_keyboard_init(&x11->keyboard, &x11_keyboard_impl, "x11-keyboard"); + wlr_keyboard_init(&x11->keyboard, &x11_keyboard_impl, + x11_keyboard_impl.name); x11->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &x11->display_destroy); diff --git a/backend/x11/input_device.c b/backend/x11/input_device.c index f87f53a0..3bbbe594 100644 --- a/backend/x11/input_device.c +++ b/backend/x11/input_device.c @@ -285,12 +285,8 @@ void handle_x11_xinput_event(struct wlr_x11_backend *x11, } } -static void keyboard_destroy(struct wlr_keyboard *wlr_keyboard) { - // Don't free the keyboard, it's on the stack -} - const struct wlr_keyboard_impl x11_keyboard_impl = { - .destroy = keyboard_destroy, + .name = "x11-keyboard", }; static void pointer_destroy(struct wlr_pointer *wlr_pointer) { |