summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2023-06-05 15:00:05 +0100
committerBram Moolenaar <Bram@vim.org>2023-06-05 15:00:05 +0100
commit5c606846b9a43c7e6b94c7e96838f7532792f557 (patch)
tree5e5f0a0b79d637e58032c3c04be6e071bf0ed6b2
parent55daae392157823dc5434e6be1344f4336bfe96f (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)
-rw-r--r--src/version.c2
-rw-r--r--src/window.c14
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;
}