changeset 16910:6a99709c6ae3 v8.1.1456

patch 8.1.1456: WinBar not redrawn after scrolling one line commit https://github.com/vim/vim/commit/98fb65cb051f625f4ce291a9f9cdb2e54ac1e688 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jun 2 20:33:32 2019 +0200 patch 8.1.1456: WinBar not redrawn after scrolling one line Problem: WinBar not redrawn after scrolling one line. Solution: Exclude the winbar height when deciding what to redraw. (closes #4473)
author Bram Moolenaar <Bram@vim.org>
date Sun, 02 Jun 2019 20:45:04 +0200
parents 62f09dafee34
children aedf7194c5a0
files src/screen.c src/testdir/test_winbar.vim src/version.c
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/screen.c
+++ b/src/screen.c
@@ -645,7 +645,7 @@ update_screen(int type_arg)
 		type = CLEAR;
 	    FOR_ALL_WINDOWS(wp)
 	    {
-		if (W_WINROW(wp) < msg_scrolled)
+		if (wp->w_winrow < msg_scrolled)
 		{
 		    if (W_WINROW(wp) + wp->w_height > msg_scrolled
 			    && wp->w_redr_type < REDRAW_TOP
--- a/src/testdir/test_winbar.vim
+++ b/src/testdir/test_winbar.vim
@@ -110,3 +110,15 @@ func Test_click_in_other_winbar()
 
   bwipe!
 endfunc
+
+func Test_redraw_after_scroll()
+  new
+  amenu 1.10 WinBar.Next :let g:did_next = 11<CR>
+  redraw
+  call assert_equal("  Next", Screenline(1))
+  echo "some\nmore"
+  redraw
+  call assert_equal("  Next", Screenline(1))
+  bwipe!
+endfunc
+
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1456,
+/**/
     1455,
 /**/
     1454,