patch 9.1.1348: still E315 with the terminal feature

Problem:  still E315 with the terminal feature
          (user202729)
Solution: call update_topline() in limit_scrollback()
          (Hirohito Higashi)

fixes: #17195
closes: #17196

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/terminal.c b/src/terminal.c
index 29926bf..471ab3a 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -3455,8 +3455,8 @@
 	    sizeof(sb_line_T) * gap->ga_len);
     if (update_buffer)
     {
-	win_T	    *curwin_save = curwin;
-	win_T	    *wp = NULL;
+	win_T *curwin_save = curwin;
+	win_T *wp = NULL;
 
 	term->tl_scrollback_scrolled -= todo;
 
@@ -3466,14 +3466,11 @@
 	    {
 		curwin = wp;
 		check_cursor();
+		update_topline();
 	    }
 	}
 	curwin = curwin_save;
     }
-
-    // make sure cursor is on a valid line
-    if (curbuf == term->tl_buffer)
-	check_cursor();
 }
 
 /*
diff --git a/src/testdir/test_terminal2.vim b/src/testdir/test_terminal2.vim
index 542f2ec..e0f7bc5 100644
--- a/src/testdir/test_terminal2.vim
+++ b/src/testdir/test_terminal2.vim
@@ -245,6 +245,10 @@
 endfunc
 
 func Test_termwinscroll_topline()
+  if has('win32')
+    CheckGithubActions
+  endif
+
   set termwinscroll=1000 mouse=a
   terminal
   call assert_equal(2, winnr('$'))
diff --git a/src/version.c b/src/version.c
index b805d70..91f2164 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1348,
+/**/
     1347,
 /**/
     1346,