diff src/window.c @ 30439:e3091fc473a1 v9.0.0555

patch 9.0.0555: scrolling with 'nosplitscroll' in callback changing curwin Commit: https://github.com/vim/vim/commit/20e58561abc4116f3bfbafaef242d886dd77b303 Author: Luuk van Baal <luukvbaal@gmail.com> Date: Fri Sep 23 12:57:09 2022 +0100 patch 9.0.0555: scrolling with 'nosplitscroll' in callback changing curwin Problem: Scrolling with 'nosplitscroll' in callback changing curwin. Solution: Invalidate w_cline_row in the right place. (Luuk van Baal, closes #11185)
author Bram Moolenaar <Bram@vim.org>
date Fri, 23 Sep 2022 14:00:06 +0200
parents 69ff2bd737a9
children 6fa498af368d
line wrap: on
line diff
--- a/src/window.c
+++ b/src/window.c
@@ -6360,7 +6360,7 @@ win_fix_scroll(int resize)
     win_T    *wp;
     linenr_T lnum;
 
-    skip_update_topline = TRUE;  // avoid scrolling in curs_rows()
+    skip_update_topline = TRUE;  // avoid scrolling in curs_columns()
     FOR_ALL_WINDOWS(wp)
     {
 	// Skip when window height has not changed.
@@ -6378,6 +6378,8 @@ win_fix_scroll(int resize)
 		scroll_to_fraction(wp, wp->w_prev_height);
 		wp->w_cursor.lnum = lnum;
 	    }
+	    else if (wp == curwin)
+		wp->w_valid &= ~VALID_CROW;
 	    invalidate_botline_win(wp);
 	    validate_botline_win(wp);
 	}