From 5b5608c61446d78be3415fe8fce6a09142989f3f Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 18 Apr 2022 13:23:23 +0800 Subject: [PATCH] Fix glyph skipping optimization when a tab line is enabled * src/dispnew.c (update_text_area): Compute vpos of header line correctly when window has tab line. --- src/dispnew.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/dispnew.c b/src/dispnew.c index 0d959047f3a..3cfe1b86f6a 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -3928,9 +3928,12 @@ update_text_area (struct window *w, struct glyph_row *updated_row, int vpos) However, it causes excessive flickering when mouse is moved across the mode line. Luckily, turning it off for the mode line doesn't seem to hurt anything. -- cyd. - But it is still needed for the header line. -- kfs. */ + But it is still needed for the header line. -- kfs. + The header line vpos is 1 if a tab line is enabled. (18th + Apr 2022) */ || (current_row->mouse_face_p - && !(current_row->mode_line_p && vpos > 0)) + && !(current_row->mode_line_p + && (vpos > w->current_matrix->tab_line_p))) || current_row->x != desired_row->x) { output_cursor_to (w, vpos, 0, desired_row->y, desired_row->x); -- 2.39.2