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 <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Hirohito Higashi
2025-06-10 20:42:06 +02:00
committed by Christian Brabandt
parent 1319009d59
commit 30b4ddf925
3 changed files with 5 additions and 12 deletions

View File

@ -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
}

View File

@ -709,6 +709,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1451,
/**/
1450,
/**/

View File

@ -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;