0
0
mirror of https://github.com/vim/vim.git synced 2025-09-30 04:44:14 -04:00

patch 9.0.0461: 'scroll' is not always updated

Problem:    'scroll' is not always updated.
Solution:   Call win_init_size() at the right place.
This commit is contained in:
Luuk van Baal
2022-09-14 01:27:23 +01:00
committed by Bram Moolenaar
parent 766ae5b252
commit 470a14140b
4 changed files with 6 additions and 1 deletions

View File

@@ -375,6 +375,7 @@ main
* Set the default values for the options that use Rows and Columns. * Set the default values for the options that use Rows and Columns.
*/ */
ui_get_shellsize(); // inits Rows and Columns ui_get_shellsize(); // inits Rows and Columns
win_init_size();
#ifdef FEAT_DIFF #ifdef FEAT_DIFF
// Set the 'diff' option now, so that it can be checked for in a .vimrc // Set the 'diff' option now, so that it can be checked for in a .vimrc
// file. There is no buffer yet though. // file. There is no buffer yet though.
@@ -539,9 +540,9 @@ vim_main2(void)
// don't have them. // don't have them.
if (!gui.in_use && params.evim_mode) if (!gui.in_use && params.evim_mode)
mch_exit(1); mch_exit(1);
firstwin->w_prev_height = firstwin->w_height; // may have changed
} }
#endif #endif
win_init_size();
#ifdef FEAT_VIMINFO #ifdef FEAT_VIMINFO
/* /*

View File

@@ -1668,6 +1668,7 @@ func Test_splitscroll_with_splits()
execute 'norm gg' . pos execute 'norm gg' . pos
split | redraw | wincmd k split | redraw | wincmd k
call assert_equal(1, line("w0")) call assert_equal(1, line("w0"))
call assert_equal(&scroll, winheight(0) / 2)
wincmd j wincmd j
call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0")) call assert_equal(win_screenpos(0)[0] - tabline - winbar_sb, line("w0"))

View File

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

View File

@@ -6384,6 +6384,7 @@ win_fix_scroll(int resize)
invalidate_botline_win(wp); invalidate_botline_win(wp);
validate_botline_win(wp); validate_botline_win(wp);
} }
win_comp_scroll(wp);
wp->w_prev_height = wp->w_height; wp->w_prev_height = wp->w_height;
wp->w_prev_winrow = wp->w_winrow; wp->w_prev_winrow = wp->w_winrow;
} }