changeset 30892:d5ad2e07a18f v9.0.0780

patch 9.0.0780: 'scroll' value computed in unexpected location Commit: https://github.com/vim/vim/commit/a1a46da87d91cfbf46866627b3e66a757145e8c3 Author: Luuk van Baal <luukvbaal@gmail.com> Date: Mon Oct 17 14:22:03 2022 +0100 patch 9.0.0780: 'scroll' value computed in unexpected location Problem: 'scroll' value computed in unexpected location. Solution: Compute 'scroll' when the window height is changed. (Luuk van Baal, closes #11387)
author Bram Moolenaar <Bram@vim.org>
date Mon, 17 Oct 2022 15:30:03 +0200
parents 2b1d792efdf1
children 5795425ca42f
files src/version.c src/window.c
diffstat 2 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    780,
+/**/
     779,
 /**/
     778,
--- a/src/window.c
+++ b/src/window.c
@@ -6378,7 +6378,6 @@ win_fix_scroll(int resize)
 	    invalidate_botline_win(wp);
 	    validate_botline_win(wp);
 	}
-	win_comp_scroll(wp);
 	wp->w_prev_height = wp->w_height;
 	wp->w_prev_winrow = wp->w_winrow;
     }
@@ -6472,6 +6471,7 @@ win_new_height(win_T *wp, int height)
 
     wp->w_height = height;
     wp->w_skipcol = 0;
+    win_comp_scroll(wp);
 
     // There is no point in adjusting the scroll position when exiting.  Some
     // values might be invalid.
@@ -6596,7 +6596,6 @@ scroll_to_fraction(win_T *wp, int prev_h
     if (prev_height > 0)
 	wp->w_prev_fraction_row = wp->w_wrow;
 
-    win_comp_scroll(wp);
     redraw_win_later(wp, UPD_SOME_VALID);
     wp->w_redr_status = TRUE;
     invalidate_botline_win(wp);