1
0
forked from aniani/vim

patch 8.2.3801: if a terminal shows in two windows, only one is redrawn

Problem:    If a terminal shows in two windows, only one is redrawn.
Solution:   Reset the dirty row range only after redrawing all windows.
            (closes #9341)
This commit is contained in:
Bram Moolenaar
2021-12-13 21:59:09 +00:00
parent 6840a0ffe8
commit 3194e5bf87
5 changed files with 53 additions and 2 deletions

View File

@@ -3850,8 +3850,22 @@ term_update_window(win_T *wp)
#endif
0);
}
term->tl_dirty_row_start = MAX_ROW;
term->tl_dirty_row_end = 0;
}
/*
* Called after updating all windows: may reset dirty rows.
*/
void
term_did_update_window(win_T *wp)
{
term_T *term = wp->w_buffer->b_term;
if (term != NULL && term->tl_vterm != NULL && !term->tl_normal_mode
&& wp->w_redr_type == 0)
{
term->tl_dirty_row_start = MAX_ROW;
term->tl_dirty_row_end = 0;
}
}
/*