summaryrefslogtreecommitdiffstats
path: root/src/drawscreen.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-12-13 21:59:09 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-13 21:59:09 +0000
commit3194e5bf87f8e08f519b947a03c46677616cd7e3 (patch)
tree6d90217b81ec8a60b93249d26a09d25b9bed4cd0 /src/drawscreen.c
parent6840a0ffe8d27a8773a500ba17550cdf2ad12cbc (diff)
patch 8.2.3801: if a terminal shows in two windows, only one is redrawnv8.2.3801
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)
Diffstat (limited to 'src/drawscreen.c')
-rw-r--r--src/drawscreen.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/drawscreen.c b/src/drawscreen.c
index 106ae95ca5..28a2072959 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -342,6 +342,13 @@ update_screen(int type_arg)
update_popups(win_update);
#endif
+#ifdef FEAT_TERMINAL
+ FOR_ALL_WINDOWS(wp)
+ // If this window contains a terminal, after redrawing all windows, the
+ // dirty row range can be reset.
+ term_did_update_window(wp);
+#endif
+
after_updating_screen(TRUE);
// Clear or redraw the command line. Done last, because scrolling may