From: Hirohito Higashi Date: Tue, 10 Jun 2025 18:42:06 +0000 (+0200) Subject: patch 9.1.1451: tabpanel rendering artifacts when scrolling X-Git-Tag: v9.1.1451^0 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=30b4ddf925dabb42e02382db0403ddb0f7544cc2;p=thirdparty%2Fvim.git patch 9.1.1451: tabpanel rendering artifacts when scrolling Problem: tabpanel rendering artifacts when scrolling Solution: update scrolling logic (Hirohito Higashi) fixes: #17495 closes: #17496 Signed-off-by: Hirohito Higashi Signed-off-by: Christian Brabandt --- diff --git a/src/term.c b/src/term.c index 649e483d61..6f7983bfbf 100644 --- a/src/term.c +++ b/src/term.c @@ -4464,7 +4464,7 @@ scroll_region_set(win_T *wp, int off) { OUT_STR(tgoto((char *)T_CS, W_WINROW(wp) + wp->w_height - 1, W_WINROW(wp) + off)); - if (*T_CSV != NUL && wp->w_width != topframe->fr_width) + if (*T_CSV != NUL && wp->w_width != Columns) OUT_STR(tgoto((char *)T_CSV, wp->w_wincol + wp->w_width - 1, wp->w_wincol)); screen_start(); // don't know where cursor is now @@ -4478,9 +4478,7 @@ scroll_region_reset(void) { OUT_STR(tgoto((char *)T_CS, (int)Rows - 1, 0)); if (*T_CSV != NUL) - OUT_STR(tgoto((char *)T_CSV, - firstwin->w_wincol + topframe->fr_width - 1, - firstwin->w_wincol)); + OUT_STR(tgoto((char *)T_CSV, (int)Columns - 1, 0)); screen_start(); // don't know where cursor is now } diff --git a/src/version.c b/src/version.c index 80b5f030a3..da96e54a03 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 */ +/**/ + 1451, /**/ 1450, /**/ diff --git a/src/window.c b/src/window.c index bb116382a7..f3b23e85a3 100644 --- a/src/window.c +++ b/src/window.c @@ -6226,14 +6226,7 @@ shell_new_columns(void) if (!skip_win_fix_scroll) win_fix_scroll(TRUE); -#ifdef FEAT_GUI - if (gui.in_use && !gui.starting) - { - 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;