changeset 29040:5d71ed834c03 v8.2.5042

patch 8.2.5042: scrollbar thumb in tall scrolled popup not visible Commit: https://github.com/vim/vim/commit/89b25585ccecf223ca41ca212df8ebc227fc035a Author: Bram Moolenaar <Bram@vim.org> Date: Mon May 30 13:20:56 2022 +0100 patch 8.2.5042: scrollbar thumb in tall scrolled popup not visible Problem: Scrollbar thumb in tall scrolled popup not visible. Solution: Show at least one thumb character. (fixes 10492)
author Bram Moolenaar <Bram@vim.org>
date Mon, 30 May 2022 14:30:05 +0200
parents bffa38742374
children e875e8e94e8a
files src/popupwin.c src/testdir/dumps/Test_popupwin_scroll_13.dump src/testdir/test_popupwin.vim src/version.c
diffstat 4 files changed, 12 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -4108,7 +4108,7 @@ update_popups(void (*win_update)(win_T *
 	    last = total_height - top_off - wp->w_popup_border[2];
 	    if (sb_thumb_top >= last)
 		// show at least one character
-		sb_thumb_top = last;
+		sb_thumb_top = last - 1;
 
 	    if (wp->w_scrollbar_highlight != NULL)
 		attr_scroll = syn_name2attr(wp->w_scrollbar_highlight);
--- a/src/testdir/dumps/Test_popupwin_scroll_13.dump
+++ b/src/testdir/dumps/Test_popupwin_scroll_13.dump
@@ -1,10 +1,10 @@
->1+0&#ffffff0| @73
-|2| @73
-|3| @73
-|4| @20|1+0#0000001#ffd7ff255|9| @27| +0#0000000#a8a8a8255| +0&#ffffff0@21
+>1+0&#ffffff0| @20|9+0#0000001#ffd7ff255@1| @27| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|2| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|3| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|4| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
 |5| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
 |6| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
-|7| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#0000001| +0&#ffffff0@21
-|8| @73
-|9| @73
+|7| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|8| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#a8a8a8255| +0&#ffffff0@21
+|9| @20| +0#4040ff13#ffd7ff255@29| +0#0000000#0000001| +0&#ffffff0@21
 |:|c|a|l@1| |S|c|r|o|l@1|B|o|t@1|o|m|(|)| @36|1|,|1| @10|T|o|p| 
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2344,8 +2344,8 @@ func Test_popup_scrollbar()
     endfunc
     func ScrollBottom()
       call popup_clear()
-      let id = CreatePopup(range(20)->map({k, v -> string(v)}))
-      call popup_setoptions(id, #{firstline: 20})
+      let id = CreatePopup(range(100)->map({k, v -> string(v)}))
+      call popup_setoptions(id, #{firstline: 100, minheight: 9, maxheight: 9})
     endfunc
     map <silent> <F3> :call test_setmouse(5, 36)<CR>
     map <silent> <F4> :call test_setmouse(4, 42)<CR>
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5042,
+/**/
     5041,
 /**/
     5040,