diff --git a/swaybar/render.c b/swaybar/render.c index 92b73f4c..dcde6b9e 100644 --- a/swaybar/render.c +++ b/swaybar/render.c @@ -813,9 +813,7 @@ void render_frame(struct swaybar_output *output) { output->width * output->scale, output->height * output->scale); if (!output->current_buffer) { - cairo_surface_destroy(recorder); - cairo_destroy(cairo); - return; + goto cleanup; } cairo_t *shm = output->current_buffer->cairo; @@ -840,6 +838,7 @@ void render_frame(struct swaybar_output *output) { wl_surface_commit(output->surface); } +cleanup: if (ctx.textaa_sharp != ctx.textaa_safe) { cairo_font_options_destroy(ctx.textaa_sharp); }