summaryrefslogtreecommitdiffstats
path: root/src/drawscreen.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-08-29 13:44:28 +0100
committerBram Moolenaar <Bram@vim.org>2022-08-29 13:44:28 +0100
commitb13d3405fffae1115acc1433479b616f30e292e5 (patch)
tree58a8ab1a5d00c7efd13eb1ae953051ece2746790 /src/drawscreen.c
parentf73e5ba56f4aca1cd6e38f1c8ea24e941bf6b33f (diff)
patch 9.0.0317: when updating the whole screen a popup may not be redrawnv9.0.0317
Problem: When updating the whole screen a popup may not be redrawn. Solution: Mark the screen and windows for redraw also when not clearing. Also mark popup windows for redraw.
Diffstat (limited to 'src/drawscreen.c')
-rw-r--r--src/drawscreen.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/drawscreen.c b/src/drawscreen.c
index 529792f06c..a0801e5865 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -173,13 +173,19 @@ update_screen(int type_arg)
if (type != UPD_CLEAR)
{
if (msg_scrolled > Rows - 5) // redrawing is faster
+ {
type = UPD_NOT_VALID;
+ redraw_as_cleared();
+ }
else
{
check_for_delay(FALSE);
if (screen_ins_lines(0, 0, msg_scrolled, (int)Rows, 0, NULL)
== FAIL)
+ {
type = UPD_NOT_VALID;
+ redraw_as_cleared();
+ }
FOR_ALL_WINDOWS(wp)
{
if (wp->w_winrow < msg_scrolled)