diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-11-04 11:03:12 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-11-04 11:03:12 +0100 |
commit | 4778b4d0e147793a4254cbda9c0e270250e970f5 (patch) | |
tree | 3dd5aba4453647d7c66a0bd2d3f25e31807d62cd /src/window.c | |
parent | c136a3528b7ebb825c3863d701af44f023381181 (diff) | |
download | vim-git-4778b4d0e147793a4254cbda9c0e270250e970f5.tar.gz |
patch 8.2.1948: GUI: crash when handling message while closing a windowv8.2.1948
Problem: GUI: crash when handling message while closing a window. (Srinath
Avadhanula)
Solution: Don't handle message while closing a window. (closes #7250)
Diffstat (limited to 'src/window.c')
-rw-r--r-- | src/window.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c index 9dbfae210..2cd06630f 100644 --- a/src/window.c +++ b/src/window.c @@ -2569,7 +2569,12 @@ win_close(win_T *win, int free_buf) // Now we are really going to close the window. Disallow any autocommand // to split a window to avoid trouble. + // Also bail out of parse_queued_messages() to avoid it tries to update the + // screen. ++split_disallowed; +#ifdef MESSAGE_QUEUE + ++dont_parse_messages; +#endif // Free the memory used for the window and get the window that received // the screen space. @@ -2626,6 +2631,9 @@ win_close(win_T *win, int free_buf) } --split_disallowed; +#ifdef MESSAGE_QUEUE + --dont_parse_messages; +#endif /* * If last window has a status line now and we don't want one, |