From 86c5d57477d3e9eaf677684e8fd8d281ca52b87a Mon Sep 17 00:00:00 2001 From: Jente Hidskes Date: Sun, 26 Jan 2020 01:08:59 +0100 Subject: [PATCH] render: use output backend to get renderer This prevents a segfault when shutting down during startup, when a client is passed that doesn't spawn a window. It also brings us one step closer to not having to have a pointer to the backend in cg_server. --- render.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/render.c b/render.c index c222b8f..2fd309a 100644 --- a/render.c +++ b/render.c @@ -149,7 +149,12 @@ output_render(struct cg_output *output, pixman_region32_t *damage) struct cg_server *server = output->server; struct wlr_output *wlr_output = output->wlr_output; - struct wlr_renderer *renderer = wlr_backend_get_renderer(server->backend); + struct wlr_renderer *renderer = wlr_backend_get_renderer(wlr_output->backend); + if (!renderer) { + wlr_log(WLR_DEBUG, "Expected the output backend to have a renderer"); + return; + } + wlr_renderer_begin(renderer, wlr_output->width, wlr_output->height); if (!pixman_region32_not_empty(damage)) {