From cee52204ca030ce7814844e4dab8b4ed897ba3cc Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 11 Mar 2020 14:19:58 +0100 Subject: patch 8.2.0371: crash with combination of terminal popup and autocmd Problem: Crash with combination of terminal popup and autocmd. Solution: Disallow closing a popup that is the current window. Add a check that the current buffer is valid. (closes #5754) --- src/macros.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/macros.h') diff --git a/src/macros.h b/src/macros.h index a7964d850..803b89115 100644 --- a/src/macros.h +++ b/src/macros.h @@ -364,8 +364,11 @@ # define ESTACK_CHECK_SETUP estack_len_before = exestack.ga_len; # define ESTACK_CHECK_NOW if (estack_len_before != exestack.ga_len) \ siemsg("Exestack length expected: %d, actual: %d", estack_len_before, exestack.ga_len); +# define CHECK_CURBUF if (curwin != NULL && curwin->w_buffer != curbuf) \ + iemsg("curbuf != curwin->w_buffer") #else # define ESTACK_CHECK_DECLARATION # define ESTACK_CHECK_SETUP # define ESTACK_CHECK_NOW +# define CHECK_CURBUF #endif -- cgit v1.2.1