aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/syntax.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-10-15 07:24:03 +0800
committerGitHub <noreply@github.com>2022-10-15 07:24:03 +0800
commit1c478391ca7754bf5ecb4b76c29acfa9b4978393 (patch)
treeceab958b547349b322444f5eb7f1f72524b96d0a /src/nvim/syntax.c
parentcb7da02701d542d3c1618f44f6217944986f09f9 (diff)
downloadrneovim-1c478391ca7754bf5ecb4b76c29acfa9b4978393.tar.gz
rneovim-1c478391ca7754bf5ecb4b76c29acfa9b4978393.tar.bz2
rneovim-1c478391ca7754bf5ecb4b76c29acfa9b4978393.zip
vim-patch:9.0.0750: crash when popup closed in callback (#20659)
Problem: Crash when popup closed in callback. (Maxim Kim) Solution: In syntax_end_parsing() check that syn_block is valid. https://github.com/vim/vim/commit/0abd6cf62d65180dc2c40d67cd95f13b0691f7ea
Diffstat (limited to 'src/nvim/syntax.c')
-rw-r--r--src/nvim/syntax.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c
index 575d475b87..ea78397d8c 100644
--- a/src/nvim/syntax.c
+++ b/src/nvim/syntax.c
@@ -1327,10 +1327,13 @@ static bool syn_stack_equal(synstate_T *sp)
// displayed line
// displayed line
// lnum -> line below window
-void syntax_end_parsing(linenr_T lnum)
+void syntax_end_parsing(win_T *wp, linenr_T lnum)
{
synstate_T *sp;
+ if (syn_block != wp->w_s) {
+ return; // not the right window
+ }
sp = syn_stack_find_entry(lnum);
if (sp != NULL && sp->sst_lnum < lnum) {
sp = sp->sst_next;