From 1d97efce0ce31ddf0dd4c1ae2228ef4caee6880c Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 4 Jul 2021 13:27:11 +0200 Subject: patch 8.2.3097: crash when using "quit" at recovery prompt Problem: Crash when using "quit" at recovery prompt and autocommands are triggered. Solution: Block autocommands when creating an empty buffer to use as the current buffer. (closes #8506) --- src/buffer.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/buffer.c') diff --git a/src/buffer.c b/src/buffer.c index 59f51aaf7a..60aa32f0c9 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1130,7 +1130,12 @@ handle_swap_exists(bufref_T *old_curbuf) close_buffer(curwin, curbuf, DOBUF_UNLOAD, FALSE, FALSE); if (old_curbuf == NULL || !bufref_valid(old_curbuf) || old_curbuf->br_buf == curbuf) + { + // Block autocommands here because curwin->w_buffer is NULL. + block_autocmds(); buf = buflist_new(NULL, NULL, 1L, BLN_CURBUF | BLN_LISTED); + unblock_autocmds(); + } else buf = old_curbuf->br_buf; if (buf != NULL) -- cgit v1.2.3