patch 8.2.2685: custom statusline not drawn correctly with WinBar

Problem:    Custom statusline not drawn correctly with WinBar.
Solution:   Also adjust the column for the custom status line. (Yee Cheng
            Chin, closes #8047)
diff --git a/src/drawscreen.c b/src/drawscreen.c
index 051d94b..0e36e79 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -380,7 +380,7 @@
 /*
  * Return the row for drawing the statusline and the ruler of window "wp".
  */
-    static int
+    int
 statusline_row(win_T *wp)
 {
 #if defined(FEAT_PROP_POPUP)
diff --git a/src/proto/drawscreen.pro b/src/proto/drawscreen.pro
index 7414fa0..528c8b2 100644
--- a/src/proto/drawscreen.pro
+++ b/src/proto/drawscreen.pro
@@ -1,5 +1,6 @@
 /* drawscreen.c */
 int update_screen(int type_arg);
+int statusline_row(win_T *wp);
 void showruler(int always);
 void win_redr_ruler(win_T *wp, int always, int ignore_pum);
 void after_updating_screen(int may_resize_shell);
diff --git a/src/screen.c b/src/screen.c
index d219b13..9d5d4df 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -1248,7 +1248,7 @@
     }
     else
     {
-	row = W_WINROW(wp) + wp->w_height;
+	row = statusline_row(wp);
 	fillchar = fillchar_status(&attr, wp);
 	maxwidth = wp->w_width;
 
diff --git a/src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump b/src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump
new file mode 100644
index 0000000..9eff5ba
--- /dev/null
+++ b/src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump
@@ -0,0 +1,10 @@
+|a+1&#ffffff0|b|c|d|e| @69
+> +0&&@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|a+3#0000000&|b|c|d|e| @69
+| +0&&@74
diff --git a/src/testdir/test_winbar.vim b/src/testdir/test_winbar.vim
index 2cbdd01..92da312 100644
--- a/src/testdir/test_winbar.vim
+++ b/src/testdir/test_winbar.vim
@@ -141,4 +141,24 @@
   call delete('XtestWinbarNotVisble')
 endfunction
 
+func Test_winbar_not_visible_custom_statusline()
+  CheckScreendump
+
+  let lines =<< trim END
+      split
+      nnoremenu WinBar.Test :test
+      set winminheight=0
+      set statusline=abcde
+      wincmd j
+      wincmd _
+  END
+  call writefile(lines, 'XtestWinbarNotVisble')
+  let buf = RunVimInTerminal('-S XtestWinbarNotVisble', #{rows: 10})
+  call VerifyScreenDump(buf, 'Test_winbar_not_visible_custom_statusline', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('XtestWinbarNotVisble')
+endfunction
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 943a6f6..8a6e164 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2685,
+/**/
     2684,
 /**/
     2683,