compositor: Remove wl_output-global on unplug
Or we would segfault when a client binds to a output thats already destroyed.
This commit is contained in:
parent
fe0444a9a9
commit
b687940cd5
@ -2224,8 +2224,12 @@ weston_shader_init(struct weston_shader *shader,
|
||||
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 @@ weston_output_init(struct weston_output *output, struct weston_compositor *c,
|
||||
|
||||
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
|
||||
|
@ -73,6 +73,7 @@ enum dpms_enum {
|
||||
|
||||
struct weston_output {
|
||||
struct wl_list link;
|
||||
struct wl_global *global;
|
||||
struct weston_compositor *compositor;
|
||||
struct weston_matrix matrix;
|
||||
struct wl_list frame_callback_list;
|
||||
|
Loading…
Reference in New Issue
Block a user