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)
diff --git a/src/popupwin.c b/src/popupwin.c
index a011b39..c9f4468 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -4108,7 +4108,7 @@
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);
diff --git a/src/testdir/dumps/Test_popupwin_scroll_13.dump b/src/testdir/dumps/Test_popupwin_scroll_13.dump
index c168da2..067f484 100644
--- 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|
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 7fc5ef5..950edf2 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2344,8 +2344,8 @@
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>
diff --git a/src/version.c b/src/version.c
index cbe6ff4..18a1fdb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 5042,
+/**/
5041,
/**/
5040,