From 7e8b7bba21cfb0a35e442c27aec0ced1b32ce14d Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Tue, 1 Apr 2025 07:56:36 +0200 Subject: fix(display): wrong cursor column with 'concealcursor' = "n" and virt_text (#33218) Problem: Inline virtual text placed in a decor provider callback invalidates `w_virtcol`, which must be valid for `win_line()`. Solution: Call `validate_virtcol()` after "line" decor provider callbacks. --- src/nvim/drawline.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/nvim') diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c index 43d9f67b5c..79cfc1ab2f 100644 --- a/src/nvim/drawline.c +++ b/src/nvim/drawline.c @@ -1163,7 +1163,8 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, int col_rows, b } } - decor_providers_invoke_line(wp, lnum - 1); + decor_providers_invoke_line(wp, lnum - 1); // may invalidate wp->w_virtcol + validate_virtcol(wp); has_decor = decor_redraw_line(wp, lnum - 1, &decor_state); -- cgit