summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-06-02 20:33:32 +0200
committerBram Moolenaar <Bram@vim.org>2019-06-02 20:33:32 +0200
commit98fb65cb051f625f4ce291a9f9cdb2e54ac1e688 (patch)
tree64f1ef68ac5d244619a0400f16672030c58d0a05
parent1762731f2039d78fc8ddd785c3d3b52e5968c0f1 (diff)
downloadvim-git-98fb65cb051f625f4ce291a9f9cdb2e54ac1e688.tar.gz
patch 8.1.1456: WinBar not redrawn after scrolling one linev8.1.1456
Problem: WinBar not redrawn after scrolling one line. Solution: Exclude the winbar height when deciding what to redraw. (closes #4473)
-rw-r--r--src/screen.c2
-rw-r--r--src/testdir/test_winbar.vim12
-rw-r--r--src/version.c2
3 files changed, 15 insertions, 1 deletions
diff --git a/src/screen.c b/src/screen.c
index 8c97e880e..37999bbf6 100644
--- 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
diff --git a/src/testdir/test_winbar.vim b/src/testdir/test_winbar.vim
index a34c29e41..c0b43b934 100644
--- 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
+
diff --git a/src/version.c b/src/version.c
index 13961d4da..29006c12c 100644
--- 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,