From 17290b912116c4397620526d43dcf6ddcf0044b7 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 3 Nov 2022 08:41:53 +0000 Subject: [PATCH] If there are no buffers, reset mode as soon as any key pressed. Fixes crash reported by Gaoyang Zhang in GitHub issue 3373. --- window-buffer.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/window-buffer.c b/window-buffer.c index 544a1155..aac0bc40 100644 --- a/window-buffer.c +++ b/window-buffer.c @@ -508,6 +508,11 @@ window_buffer_key(struct window_mode_entry *wme, struct client *c, struct window_buffer_itemdata *item; int finished; + if (paste_get_top(NULL) == NULL) { + finished = 1; + goto out; + } + finished = mode_tree_key(mtd, c, &key, m, NULL, NULL); switch (key) { case 'e': @@ -534,6 +539,8 @@ window_buffer_key(struct window_mode_entry *wme, struct client *c, finished = 1; break; } + +out: if (finished || paste_get_top(NULL) == NULL) window_pane_reset_mode(wp); else {