diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2017-08-12 01:16:12 +0200 |
---|---|---|
committer | Dominique Martinet <asmadeus@codewreck.org> | 2017-08-12 01:16:12 +0200 |
commit | 8427749dd06b52bd8e53539f264a784beca9bb6f (patch) | |
tree | 38742a47592963fdb79a1c753eaa6cd951f31930 /backend | |
parent | c323bfc6a0016076e3a27a639da23f6c176c68fa (diff) |
wayland backend: emit signal for input/output removal
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; } |