From 8274c85d21df4c790b46666f4383731c89352480 Mon Sep 17 00:00:00 2001 From: Roman Gilg Date: Sun, 14 Nov 2021 18:37:36 +0100 Subject: [PATCH] backend/headless: unlink input device on destroy Removing an input device requires unlinking it from the list of all headless input devices. For that implement a destroy function. --- backend/headless/input_device.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/backend/headless/input_device.c b/backend/headless/input_device.c index 76e69c52..1d91f8d1 100644 --- a/backend/headless/input_device.c +++ b/backend/headless/input_device.c @@ -11,7 +11,14 @@ #include "backend/headless.h" #include "util/signal.h" -static const struct wlr_input_device_impl input_device_impl = { 0 }; +static void input_device_destroy(struct wlr_input_device *wlr_dev) { + wl_list_remove(&wlr_dev->link); + free(wlr_dev); +} + +static const struct wlr_input_device_impl input_device_impl = { + .destroy = input_device_destroy, +}; bool wlr_input_device_is_headless(struct wlr_input_device *wlr_dev) { return wlr_dev->impl == &input_device_impl;