From a3a5d9a21bca7fc02801c2a9c92bc0821d4ca0ff Mon Sep 17 00:00:00 2001 From: Consolatis <35009135+Consolatis@users.noreply.github.com> Date: Sun, 27 Aug 2023 21:11:04 +0200 Subject: [PATCH] src/osd.c: prevent crash with theme setting osd.window-switcher.width: 0 Fixes: #1050 Reported-by: @4ffy (thanks) --- src/osd.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/osd.c b/src/osd.c index ba52536c..5477cf27 100644 --- a/src/osd.c +++ b/src/osd.c @@ -425,6 +425,10 @@ display_osd(struct output *output) wlr_buffer_drop(&output->osd_buffer->base); } output->osd_buffer = buffer_create_cairo(w, h, scale, true); + if (!output->osd_buffer) { + wlr_log(WLR_ERROR, "Failed to allocate cairo buffer for the window switcher"); + return; + } /* Render OSD image */ cairo_t *cairo = output->osd_buffer->cairo; @@ -462,7 +466,7 @@ osd_update(struct server *server) return; } - if (rc.window_switcher.show) { + if (rc.window_switcher.show && rc.theme->osd_window_switcher_width > 0) { /* Display the actual OSD */ struct output *output; wl_list_for_each(output, &server->outputs, link) { -- 2.52.0