]> granicus.if.org Git - vim/commitdiff
patch 9.0.0780: 'scroll' value computed in unexpected location v9.0.0780
authorLuuk van Baal <luukvbaal@gmail.com>
Mon, 17 Oct 2022 13:22:03 +0000 (14:22 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 17 Oct 2022 13:22:03 +0000 (14:22 +0100)
Problem:    'scroll' value computed in unexpected location.
Solution:   Compute 'scroll' when the window height is changed. (Luuk van
            Baal, closes #11387)

src/version.c
src/window.c

index b872e3f6f90d836cbbb54534692e010b0031d399..947f6531e49215da975d2041db5aebf95e528e6d 100644 (file)
@@ -695,6 +695,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    780,
 /**/
     779,
 /**/
index 51416af53f27ef4f7710dabcfdd234df18a7277e..8d61defab2b48d421ef577e1577bb9cb4d41eacc 100644 (file)
@@ -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_height)
     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);