When destroying ouputs, they would sometimes be removed before the call
to weston_output_destory() and sometimes after, depending on the
backend. Now the output is remove withing that function so the behavior
is standard across all backends.
weston_plane_release(&output->cursor_plane);
weston_output_destroy(&output->base);
- wl_list_remove(&output->base.link);
free(output);
}
}
/* Remove the output. */
- wl_list_remove(&output->base.link);
weston_output_destroy(&output->base);
free(output);
*/
rpi_flippipe_release(&output->flippipe);
- wl_list_remove(&output->base.link);
weston_output_destroy(&output->base);
vc_dispmanx_display_close(output->display);
struct x11_compositor *compositor =
(struct x11_compositor *)output->base.compositor;
- wl_list_remove(&output->base.link);
wl_event_source_remove(output->finish_frame_timer);
if (compositor->use_pixman) {
WL_EXPORT void
weston_output_destroy(struct weston_output *output)
{
+ wl_list_remove(&output->link);
+
wl_signal_emit(&output->destroy_signal, output);
free(output->name);