diff options
Diffstat (limited to 'backend')
-rw-r--r-- | backend/wayland/output.c | 1 | ||||
-rw-r--r-- | backend/wayland/wl_seat.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/backend/wayland/output.c b/backend/wayland/output.c index 2c7086e2..318f1f05 100644 --- a/backend/wayland/output.c +++ b/backend/wayland/output.c @@ -46,6 +46,7 @@ static void wlr_wl_output_transform(struct wlr_output_state *output, } static void wlr_wl_output_destroy(struct wlr_output_state *output) { + wl_signal_emit(&output->backend->backend->events.output_remove, output->wlr_output); if(output->frame_callback) wl_callback_destroy(output->frame_callback); eglDestroySurface(output->backend->egl.display, output->surface); wl_egl_window_destroy(output->egl_window); diff --git a/backend/wayland/wl_seat.c b/backend/wayland/wl_seat.c index ab3de74d..88784828 100644 --- a/backend/wayland/wl_seat.c +++ b/backend/wayland/wl_seat.c @@ -169,6 +169,7 @@ static struct wl_keyboard_listener keyboard_listener = { }; static void input_device_destroy(struct wlr_input_device_state *state) { + wl_signal_emit(&state->backend->backend->events.input_remove, state->wlr_device); if (state->resource) wl_proxy_destroy(state->resource); free(state); @@ -206,7 +207,7 @@ static struct wlr_input_device *allocate_device(struct wlr_backend_state *state, free(devstate); return NULL; } - + devstate->wlr_device = wlr_device; list_add(state->devices, wlr_device); return wlr_device; } |