From 14805899fbab3212c3d3fb2fb666a0039daa7de7 Mon Sep 17 00:00:00 2001 From: Yuxuan Shui Date: Thu, 27 Jun 2024 19:14:18 +0100 Subject: [PATCH] renderer/layout: skip windows without pixmaps There are some cases where a window might be missing its pixmap. Mainly when a window is unmapped/destroyed during a backend reset (there are many reasons for backend resets, e.g. resolution change, unredir-if-possible, etc.). We skip windows like this. Signed-off-by: Yuxuan Shui --- src/renderer/layout.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/renderer/layout.c b/src/renderer/layout.c index f4095312..b34cdab0 100644 --- a/src/renderer/layout.c +++ b/src/renderer/layout.c @@ -44,6 +44,9 @@ static bool layer_from_window(struct layer *out_layer, struct win *w, ivec2 size if (!w->ever_damaged || w->paint_excluded) { goto out; } + if (w->win_image == NULL) { + goto out; + } out_layer->scale = (vec2){ .x = win_animatable_get(w, WIN_SCRIPT_SCALE_X),