aboutsummaryrefslogtreecommitdiff
path: root/backend/x11
diff options
context:
space:
mode:
authorSimon Zeni <simon@bl4ckb0ne.ca>2022-03-01 14:49:30 -0500
committerKirill Primak <vyivel@eclair.cafe>2022-03-07 16:37:41 +0000
commit7dc4a3ecd71cf41dd1800c6afd3b16c83a90f031 (patch)
treebf2326174d0d01369bec23763beb90eba870b5cd /backend/x11
parent39b68ea47a661b1f7562ce283652de08f222b2be (diff)
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.c5
-rw-r--r--backend/x11/input_device.c6
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) {