summaryrefslogtreecommitdiffstats
path: root/src/drawscreen.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-08-01 19:14:13 +0200
committerBram Moolenaar <Bram@vim.org>2020-08-01 19:14:13 +0200
commitf8992d47cd50494c64bb733329067c9de3c75200 (patch)
tree9bf5664c4b44b08508d54000ce9c8a63168e84bb /src/drawscreen.c
parent2c79e9d14dc0e61d8c357946d01107ec23ec0fe2 (diff)
patch 8.2.1345: Redraw error when using visual block and scrollv8.2.1345
Problem: Redraw error when using visual block and scroll. Solution: Add check for w_topline. ( closes #6597)
Diffstat (limited to 'src/drawscreen.c')
-rw-r--r--src/drawscreen.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/drawscreen.c b/src/drawscreen.c
index faecaa44bf..7afcf09754 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -1659,10 +1659,13 @@ win_update(win_T *wp)
#endif
)
{
- if (mod_top != 0 && wp->w_topline == mod_top)
+ if (mod_top != 0
+ && wp->w_topline == mod_top
+ && (!wp->w_lines[0].wl_valid
+ || wp->w_topline == wp->w_lines[0].wl_lnum))
{
- // w_topline is the first changed line, the scrolling will be done
- // further down.
+ // w_topline is the first changed line and window is not scrolled,
+ // the scrolling from changed lines will be done further down.
}
else if (wp->w_lines[0].wl_valid
&& (wp->w_topline < wp->w_lines[0].wl_lnum