Mercurial > vim
changeset 32553:e80fa10e0549 v9.0.1608
patch 9.0.1608: update_topline() is called twice
Commit: https://github.com/vim/vim/commit/5c606846b9a43c7e6b94c7e96838f7532792f557
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Mon Jun 5 15:00:05 2023 +0100
patch 9.0.1608: update_topline() is called twice
Problem: update_topline() is called twice.
Solution: Do not call update_topline() before curs_columns(). (Luuk van
Baal, closes #12495)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 05 Jun 2023 16:15:04 +0200 |
parents | 0632ef23eb80 |
children | 5178a7e13050 |
files | src/version.c src/window.c |
diffstat | 2 files changed, 6 insertions(+), 10 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 */ /**/ + 1608, +/**/ 1607, /**/ 1606,
--- a/src/window.c +++ b/src/window.c @@ -7032,11 +7032,8 @@ scroll_to_fraction(win_T *wp, int prev_h } if (wp == curwin) - { - if (get_scrolloff_value()) - update_topline(); curs_columns(FALSE); // validate w_wrow - } + if (prev_height > 0) wp->w_prev_fraction_row = wp->w_wrow; @@ -7055,13 +7052,10 @@ win_new_width(win_T *wp, int width) wp->w_lines_valid = 0; changed_line_abv_curs_win(wp); invalidate_botline_win(wp); - if (wp == curwin) - { - skip_update_topline = (*p_spk != 'c'); - update_topline(); + + if (wp == curwin && *p_spk == 'c') curs_columns(TRUE); // validate w_wrow - skip_update_topline = FALSE; - } + redraw_win_later(wp, UPD_NOT_VALID); wp->w_redr_status = TRUE; }