diff options
author | Luuk van Baal <luukvbaal@gmail.com> | 2023-06-05 15:00:05 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2023-06-05 15:00:05 +0100 |
commit | 5c606846b9a43c7e6b94c7e96838f7532792f557 (patch) | |
tree | 5e5f0a0b79d637e58032c3c04be6e071bf0ed6b2 /src | |
parent | 55daae392157823dc5434e6be1344f4336bfe96f (diff) |
patch 9.0.1608: update_topline() is called twicev9.0.1608
Problem: update_topline() is called twice.
Solution: Do not call update_topline() before curs_columns(). (Luuk van
Baal, closes #12495)
Diffstat (limited to 'src')
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/window.c | 14 |
2 files changed, 6 insertions, 10 deletions
diff --git a/src/version.c b/src/version.c index 13a537def8..1a8dd0e604 100644 --- 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, diff --git a/src/window.c b/src/window.c index eaf89aa95f..f02aa9f057 100644 --- a/src/window.c +++ b/src/window.c @@ -7032,11 +7032,8 @@ scroll_to_fraction(win_T *wp, int prev_height) } 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; } |