diff options
author | nicm <nicm> | 2022-11-03 08:41:53 +0000 |
---|---|---|
committer | nicm <nicm> | 2022-11-03 08:41:53 +0000 |
commit | 17290b912116c4397620526d43dcf6ddcf0044b7 (patch) | |
tree | 30e6c2c738e97644e78dc3ab929ee6404ada9231 /window-buffer.c | |
parent | 3be369522b6de38ba08ee50a86a49a9a86af490b (diff) | |
download | rtmux-17290b912116c4397620526d43dcf6ddcf0044b7.tar.gz rtmux-17290b912116c4397620526d43dcf6ddcf0044b7.tar.bz2 rtmux-17290b912116c4397620526d43dcf6ddcf0044b7.zip |
If there are no buffers, reset mode as soon as any key pressed. Fixes
crash reported by Gaoyang Zhang in GitHub issue 3373.
Diffstat (limited to 'window-buffer.c')
-rw-r--r-- | window-buffer.c | 7 |
1 files changed, 7 insertions, 0 deletions
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 { |