Mercurial > vim
diff src/move.c @ 23306:90ea5037a7e3 v8.2.2198
patch 8.2.2198: ml_get error when resizing window and using text property
Commit: https://github.com/vim/vim/commit/23999d799cfe844b604f193183f8f84052c8e746
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 23 14:36:00 2020 +0100
patch 8.2.2198: ml_get error when resizing window and using text property
Problem: ml_get error when resizing window and using text property.
Solution: Validate botline of the right window. (closes https://github.com/vim/vim/issues/7528)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 23 Dec 2020 14:45:04 +0100 |
parents | 477f1b4c6826 |
children | 68f506771741 |
line wrap: on
line diff
--- a/src/move.c +++ b/src/move.c @@ -541,6 +541,8 @@ set_topline(win_T *wp, linenr_T lnum) #endif // Approximate the value of w_botline wp->w_botline += lnum - wp->w_topline; + if (wp->w_botline > wp->w_buffer->b_ml.ml_line_count + 1) + wp->w_botline = wp->w_buffer->b_ml.ml_line_count + 1; wp->w_topline = lnum; wp->w_topline_was_set = TRUE; #ifdef FEAT_DIFF @@ -595,8 +597,17 @@ changed_line_abv_curs_win(win_T *wp) void validate_botline(void) { - if (!(curwin->w_valid & VALID_BOTLINE)) - comp_botline(curwin); + validate_botline_win(curwin); +} + +/* + * Make sure the value of wp->w_botline is valid. + */ + void +validate_botline_win(win_T *wp) +{ + if (!(wp->w_valid & VALID_BOTLINE)) + comp_botline(wp); } /*