patch 8.2.3803: GUI: crash with 'writedelay' set using a terminal window
Problem: Crash when 'writedelay' is set and using a terminal window to
execute a shell command.
Solution: Check that "tl_vterm" isn't NULL. (closes #9346)
diff --git a/src/terminal.c b/src/terminal.c
index f8dc219..7efe071 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -2101,15 +2101,15 @@
/*
* Get a key from the user with terminal mode mappings.
* Note: while waiting a terminal may be closed and freed if the channel is
- * closed and ++close was used.
+ * closed and ++close was used. This may even happen before we get here.
*/
static int
term_vgetc()
{
int c;
int save_State = State;
- int modify_other_keys =
- vterm_is_modify_other_keys(curbuf->b_term->tl_vterm);
+ int modify_other_keys = curbuf->b_term->tl_vterm == NULL ? FALSE
+ : vterm_is_modify_other_keys(curbuf->b_term->tl_vterm);
State = TERMINAL;
got_int = FALSE;