drm, fbdev, rpi and wayland backends are unnecessarily destroying renderer and output before executing weston_compositor_shutdown()
Signed-off-by: Dawid Gajownik <gajow...@gmail.com> --- src/compositor-drm.c | 1 - src/compositor-fbdev.c | 5 +---- src/compositor-rpi.c | 7 ++----- src/compositor-wayland.c | 10 +--------- 4 files changed, 4 insertions(+), 19 deletions(-) diff --git a/src/compositor-drm.c b/src/compositor-drm.c index 3cb6b84..34a4ea9 100644 --- a/src/compositor-drm.c +++ b/src/compositor-drm.c @@ -3163,7 +3163,6 @@ err_drm_source: err_udev_input: udev_input_destroy(&b->input); err_sprite: - compositor->renderer->destroy(compositor); gbm_device_destroy(b->gbm); destroy_sprites(b); err_udev_dev: diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c index 3110f74..051a381 100644 --- a/src/compositor-fbdev.c +++ b/src/compositor-fbdev.c @@ -881,16 +881,13 @@ fbdev_backend_create(struct weston_compositor *compositor, int *argc, char *argv } if (fbdev_output_create(backend, param->device) < 0) - goto out_pixman; + goto out_launcher; udev_input_init(&backend->input, compositor, backend->udev, seat_id); compositor->backend = &backend->base; return backend; -out_pixman: - compositor->renderer->destroy(compositor); - out_launcher: weston_launcher_destroy(compositor->launcher); diff --git a/src/compositor-rpi.c b/src/compositor-rpi.c index ac9faeb..602cbee 100644 --- a/src/compositor-rpi.c +++ b/src/compositor-rpi.c @@ -522,20 +522,17 @@ rpi_backend_create(struct weston_compositor *compositor, goto out_launcher; if (rpi_output_create(backend, param->output_transform) < 0) - goto out_renderer; + goto out_launcher; if (udev_input_init(&backend->input, compositor, backend->udev, "seat0") != 0) { weston_log("Failed to initialize udev input.\n"); - goto out_renderer; + goto out_launcher; } return backend; -out_renderer: - compositor->renderer->destroy(compositor); - out_launcher: weston_launcher_destroy(compositor->launcher); diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c index a8e63e1..44b6ebb 100644 --- a/src/compositor-wayland.c +++ b/src/compositor-wayland.c @@ -2016,14 +2016,12 @@ wayland_backend_create(struct weston_compositor *compositor, int use_pixman, wl_event_loop_add_fd(loop, fd, WL_EVENT_READABLE, wayland_backend_handle_event, b); if (b->parent.wl_source == NULL) - goto err_renderer; + goto err_display; wl_event_source_check(b->parent.wl_source); compositor->backend = &b->base; return b; -err_renderer: - compositor->renderer->destroy(compositor); err_display: wl_display_disconnect(b->parent.wl_display); err_compositor: @@ -2035,12 +2033,6 @@ err_compositor: static void wayland_backend_destroy(struct wayland_backend *b) { - struct weston_output *output, *next; - - wl_list_for_each_safe(output, next, &b->compositor->output_list, link) - wayland_output_destroy(output); - - b->compositor->renderer->destroy(b->compositor); wl_display_disconnect(b->parent.wl_display); if (b->theme) -- 2.4.3 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel