patch 9.1.1430: tabpanel may flicker in the GUI
Commit:
https://github.com/vim/vim/commit/862cb37544c71800fdedc3e84454185f21685c6a
Author: Hirohito Higashi <
h.eas...@gmail.com>
Date: Wed Jun 4 20:05:59 2025 +0200
patch 9.1.1430: tabpanel may flicker in the GUI
Problem: tabpanel may flicker in the GUI
Solution: call scroll_start() and scroll_region_reset()
(Hirohito Higashi)
fixes: #17440
closes: #17442
Signed-off-by: Hirohito Higashi <
h.eas...@gmail.com>
Signed-off-by: Christian Brabandt <
c...@256bit.org>
diff --git a/src/term.c b/src/term.c
index b7a82da0a..649e483d6 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4478,7 +4478,9 @@ scroll_region_reset(void)
{
OUT_STR(tgoto((char *)T_CS, (int)Rows - 1, 0));
if (*T_CSV != NUL)
- OUT_STR(tgoto((char *)T_CSV, Columns - 1, 0));
+ OUT_STR(tgoto((char *)T_CSV,
+ firstwin->w_wincol + topframe->fr_width - 1,
+ firstwin->w_wincol));
screen_start(); // don't know where cursor is now
}
diff --git a/src/version.c b/src/version.c
index 5e34826e0..5630b8ad7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -709,6 +709,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1430,
/**/
1429,
/**/
diff --git a/src/window.c b/src/window.c
index f3b23e85a..46e1b63a8 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6226,7 +6226,14 @@ shell_new_columns(void)
if (!skip_win_fix_scroll)
win_fix_scroll(TRUE);
-
+#ifdef FEAT_GUI
+ if (gui.in_use)
+ {
+ if (scroll_region)
+ scroll_region_reset();
+ scroll_start(); // may scroll the screen to the right position
+ }
+#endif
redraw_tabline = TRUE;
#if defined(FEAT_TABPANEL)
redraw_tabpanel = TRUE;