diff options
author | luukvbaal <luukvbaal@gmail.com> | 2024-09-01 14:19:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-01 20:19:19 +0800 |
commit | 97f8d1de1cfaebd67bc994401da38b003b64b6df (patch) | |
tree | 1e48ff34190d16889809a243669b4b004244513c /src | |
parent | 9b983e5f6cbfeaaf491ad57912518042be650b6d (diff) | |
download | rneovim-97f8d1de1cfaebd67bc994401da38b003b64b6df.tar.gz rneovim-97f8d1de1cfaebd67bc994401da38b003b64b6df.tar.bz2 rneovim-97f8d1de1cfaebd67bc994401da38b003b64b6df.zip |
vim-patch:9.1.0708: Recursive window update does not account for reset skipcol (#30217)
Problem: Window is updated with potentially invalid skipcol in recursive
window update path. I.e. cursor outside of visible range in
large line that does not fit.
Solution: Make sure it is valid (Luuk van Baal).
https://github.com/vim/vim/commit/3d5065fc7553c8de3d0555c3085165bdd724663b
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/drawscreen.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index 425651b60e..025d8fe721 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -2453,10 +2453,12 @@ redr_statuscol: recursive = true; curwin->w_valid &= ~VALID_TOPLINE; update_topline(curwin); // may invalidate w_botline again + // New redraw either due to updated topline or reset skipcol. if (must_redraw != 0) { // Don't update for changes in buffer again. int mod_set = curbuf->b_mod_set; curbuf->b_mod_set = false; + curs_columns(curwin, true); win_update(curwin); must_redraw = 0; curbuf->b_mod_set = mod_set; |