diff --git a/backend/session/session.c b/backend/session/session.c index e071c679a..3fcac3e3e 100644 --- a/backend/session/session.c +++ b/backend/session/session.c @@ -79,6 +79,7 @@ struct wlr_session *wlr_session_create(struct wl_display *disp) { session->active = true; wl_signal_init(&session->session_signal); + wl_signal_init(&session->events.destroy); wl_list_init(&session->devices); session->udev = udev_new(); diff --git a/types/tablet_v2/wlr_tablet_v2.c b/types/tablet_v2/wlr_tablet_v2.c index bb5d62ed8..450368391 100644 --- a/types/tablet_v2/wlr_tablet_v2.c +++ b/types/tablet_v2/wlr_tablet_v2.c @@ -294,6 +294,7 @@ struct wlr_tablet_manager_v2 *wlr_tablet_v2_create(struct wl_display *display) { return NULL; } + wl_signal_init(&tablet->events.destroy); wl_list_init(&tablet->clients); wl_list_init(&tablet->seats); diff --git a/types/wlr_gamma_control.c b/types/wlr_gamma_control.c index 3eb4b32b9..40ca2acaa 100644 --- a/types/wlr_gamma_control.c +++ b/types/wlr_gamma_control.c @@ -187,6 +187,7 @@ struct wlr_gamma_control_manager *wlr_gamma_control_manager_create( } manager->global = global; + wl_signal_init(&manager->events.destroy); wl_list_init(&manager->controls); manager->display_destroy.notify = handle_display_destroy; diff --git a/types/wlr_gamma_control_v1.c b/types/wlr_gamma_control_v1.c index 25718b125..9f049a0bd 100644 --- a/types/wlr_gamma_control_v1.c +++ b/types/wlr_gamma_control_v1.c @@ -255,6 +255,7 @@ struct wlr_gamma_control_manager_v1 *wlr_gamma_control_manager_v1_create( return NULL; } + wl_signal_init(&manager->events.destroy); wl_list_init(&manager->resources); wl_list_init(&manager->controls); diff --git a/types/wlr_idle.c b/types/wlr_idle.c index 28e8318f8..2d0e8eed6 100644 --- a/types/wlr_idle.c +++ b/types/wlr_idle.c @@ -209,6 +209,7 @@ struct wlr_idle *wlr_idle_create(struct wl_display *display) { } wl_list_init(&idle->idle_timers); wl_signal_init(&idle->events.activity_notify); + wl_signal_init(&idle->events.destroy); idle->enabled = true; idle->event_loop = wl_display_get_event_loop(display); diff --git a/types/wlr_idle_inhibit_v1.c b/types/wlr_idle_inhibit_v1.c index 57b2677c5..5f3d3d406 100644 --- a/types/wlr_idle_inhibit_v1.c +++ b/types/wlr_idle_inhibit_v1.c @@ -176,6 +176,7 @@ struct wlr_idle_inhibit_manager_v1 *wlr_idle_inhibit_v1_create(struct wl_display idle_inhibit->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &idle_inhibit->display_destroy); wl_signal_init(&idle_inhibit->events.new_inhibitor); + wl_signal_init(&idle_inhibit->events.destroy); idle_inhibit->global = wl_global_create(display, &zwp_idle_inhibit_manager_v1_interface, 1, diff --git a/types/wlr_input_inhibitor.c b/types/wlr_input_inhibitor.c index 65ba73357..fa692d6cf 100644 --- a/types/wlr_input_inhibitor.c +++ b/types/wlr_input_inhibitor.c @@ -144,6 +144,7 @@ struct wlr_input_inhibit_manager *wlr_input_inhibit_manager_create( wl_signal_init(&manager->events.activate); wl_signal_init(&manager->events.deactivate); + wl_signal_init(&manager->events.destroy); manager->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &manager->display_destroy); diff --git a/types/wlr_layer_shell.c b/types/wlr_layer_shell.c index ac1c3b9a6..52e5088ee 100644 --- a/types/wlr_layer_shell.c +++ b/types/wlr_layer_shell.c @@ -449,6 +449,7 @@ struct wlr_layer_shell *wlr_layer_shell_create(struct wl_display *display) { layer_shell->global = global; wl_signal_init(&layer_shell->events.new_surface); + wl_signal_init(&layer_shell->events.destroy); layer_shell->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &layer_shell->display_destroy); diff --git a/types/wlr_primary_selection.c b/types/wlr_primary_selection.c index 7d568e835..e561852f2 100644 --- a/types/wlr_primary_selection.c +++ b/types/wlr_primary_selection.c @@ -408,6 +408,8 @@ struct wlr_primary_selection_device_manager * return NULL; } + wl_signal_init(&manager->events.destroy); + manager->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &manager->display_destroy); diff --git a/types/wlr_screencopy_v1.c b/types/wlr_screencopy_v1.c index f5e4c4dbd..4f044eba9 100644 --- a/types/wlr_screencopy_v1.c +++ b/types/wlr_screencopy_v1.c @@ -296,6 +296,8 @@ struct wlr_screencopy_manager_v1 *wlr_screencopy_manager_v1_create( wl_list_init(&manager->resources); wl_list_init(&manager->frames); + wl_signal_init(&manager->events.destroy); + manager->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &manager->display_destroy); diff --git a/types/wlr_screenshooter.c b/types/wlr_screenshooter.c index 18c457580..c85e6ba56 100644 --- a/types/wlr_screenshooter.c +++ b/types/wlr_screenshooter.c @@ -197,6 +197,7 @@ struct wlr_screenshooter *wlr_screenshooter_create(struct wl_display *display) { } wl_list_init(&screenshooter->screenshots); + wl_signal_init(&screenshooter->events.destroy); screenshooter->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &screenshooter->display_destroy); diff --git a/types/wlr_server_decoration.c b/types/wlr_server_decoration.c index dc0fb75a3..fd92fd04c 100644 --- a/types/wlr_server_decoration.c +++ b/types/wlr_server_decoration.c @@ -206,6 +206,7 @@ struct wlr_server_decoration_manager *wlr_server_decoration_manager_create( wl_list_init(&manager->resources); wl_list_init(&manager->decorations); wl_signal_init(&manager->events.new_decoration); + wl_signal_init(&manager->events.destroy); manager->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &manager->display_destroy); diff --git a/types/wlr_virtual_keyboard_v1.c b/types/wlr_virtual_keyboard_v1.c index 29f646c10..e54632953 100644 --- a/types/wlr_virtual_keyboard_v1.c +++ b/types/wlr_virtual_keyboard_v1.c @@ -223,6 +223,7 @@ struct wlr_virtual_keyboard_manager_v1* wl_list_init(&manager->virtual_keyboards); wl_signal_init(&manager->events.new_virtual_keyboard); + wl_signal_init(&manager->events.destroy); manager->global = wl_global_create(display, &zwp_virtual_keyboard_manager_v1_interface, 1, manager, virtual_keyboard_manager_bind); diff --git a/types/wlr_xdg_decoration_v1.c b/types/wlr_xdg_decoration_v1.c index 3b5c53aac..f5182daa6 100644 --- a/types/wlr_xdg_decoration_v1.c +++ b/types/wlr_xdg_decoration_v1.c @@ -275,6 +275,7 @@ struct wlr_xdg_decoration_manager_v1 * wl_list_init(&manager->resources); wl_list_init(&manager->decorations); wl_signal_init(&manager->events.new_toplevel_decoration); + wl_signal_init(&manager->events.destroy); manager->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &manager->display_destroy); diff --git a/types/wlr_xdg_output.c b/types/wlr_xdg_output.c index 0b367e55f..8c7a1fcbe 100644 --- a/types/wlr_xdg_output.c +++ b/types/wlr_xdg_output.c @@ -228,6 +228,8 @@ struct wlr_xdg_output_manager *wlr_xdg_output_manager_create( add_output(manager, layout_output); } + wl_signal_init(&manager->events.destroy); + manager->layout_add.notify = handle_layout_add; wl_signal_add(&layout->events.add, &manager->layout_add); manager->layout_change.notify = handle_layout_change; diff --git a/types/xdg_shell/wlr_xdg_shell.c b/types/xdg_shell/wlr_xdg_shell.c index f6da4493d..58dc376c2 100644 --- a/types/xdg_shell/wlr_xdg_shell.c +++ b/types/xdg_shell/wlr_xdg_shell.c @@ -155,6 +155,7 @@ struct wlr_xdg_shell *wlr_xdg_shell_create(struct wl_display *display) { xdg_shell->global = global; wl_signal_init(&xdg_shell->events.new_surface); + wl_signal_init(&xdg_shell->events.destroy); xdg_shell->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &xdg_shell->display_destroy); diff --git a/types/xdg_shell_v6/wlr_xdg_shell_v6.c b/types/xdg_shell_v6/wlr_xdg_shell_v6.c index 83bf96ac7..fce8e96a9 100644 --- a/types/xdg_shell_v6/wlr_xdg_shell_v6.c +++ b/types/xdg_shell_v6/wlr_xdg_shell_v6.c @@ -156,6 +156,7 @@ struct wlr_xdg_shell_v6 *wlr_xdg_shell_v6_create(struct wl_display *display) { xdg_shell->global = global; wl_signal_init(&xdg_shell->events.new_surface); + wl_signal_init(&xdg_shell->events.destroy); xdg_shell->display_destroy.notify = handle_display_destroy; wl_display_add_destroy_listener(display, &xdg_shell->display_destroy);