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.
This commit is contained in:
luukvbaal
2025-04-01 07:56:36 +02:00
committed by GitHub
parent 32325a66ca
commit 7e8b7bba21
2 changed files with 29 additions and 1 deletions

View File

@@ -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);