compositor: Remove wl_output-global on unplug
Or we would segfault when a client binds to a output thats already
destroyed.
diff --git a/src/compositor.c b/src/compositor.c
index 96296cc..8686c1d 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2224,8 +2224,12 @@
WL_EXPORT void
weston_output_destroy(struct weston_output *output)
{
+ struct weston_compositor *c = output->compositor;
+
pixman_region32_fini(&output->region);
pixman_region32_fini(&output->previous_damage);
+
+ wl_display_remove_global(c->wl_display, output->global);
}
WL_EXPORT void
@@ -2313,8 +2317,9 @@
wl_list_init(&output->frame_callback_list);
- wl_display_add_global(c->wl_display,
- &wl_output_interface, output, bind_output);
+ output->global =
+ wl_display_add_global(c->wl_display, &wl_output_interface,
+ output, bind_output);
}
static void