From 11829931a78dab3a36412c9a012ce7bd17eb5449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Wed, 16 Jun 2021 17:44:14 +0200 Subject: [PATCH] =?UTF-8?q?search:=20don=E2=80=99t=20crash=20when=20we=20d?= =?UTF-8?q?on=E2=80=99t=20have=20any=20XKB=20compose=20state?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 2 ++ search.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ec5ccb8..588adf0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -180,6 +180,8 @@ * Memory leak caused by custom box drawing glyphs not being completely freed when destroying a foot window instance (https://codeberg.org/dnkl/foot/issues/586). +* Crash in scrollback search when current XKB layout is missing + _compose_ definitions. ### Security diff --git a/search.c b/search.c index 3d1ace4b..9fc1ab2a 100644 --- a/search.c +++ b/search.c @@ -798,8 +798,9 @@ search_input(struct seat *seat, struct terminal *term, uint32_t key, { LOG_DBG("search: input: sym=%d/0x%x, mods=0x%08x", sym, sym, mods); - enum xkb_compose_status compose_status = xkb_compose_state_get_status( - seat->kbd.xkb_compose_state); + enum xkb_compose_status compose_status = seat->kbd.xkb_compose_state != NULL + ? xkb_compose_state_get_status(seat->kbd.xkb_compose_state) + : XKB_COMPOSE_NOTHING; bool update_search_result = false; bool redraw = false;