patch 9.0.1571: RedrawingDisabled not used consistently
Problem: RedrawingDisabled not used consistently.
Solution: Avoid RedrawingDisabled going negative. Set RedrawingDisabled in
win_split_ins(). (closes #11961)
diff --git a/src/buffer.c b/src/buffer.c
index dc279ff..ff7c50f 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2506,11 +2506,10 @@
}
++RedrawingDisabled;
+ int retval = FAIL;
if (GETFILE_SUCCESS(getfile(buf->b_fnum, NULL, NULL,
(options & GETF_SETMARK), lnum, forceit)))
{
- --RedrawingDisabled;
-
// cursor is at to BOL and w_cursor.lnum is checked due to getfile()
if (!p_sol && col != 0)
{
@@ -2519,10 +2518,12 @@
curwin->w_cursor.coladd = 0;
curwin->w_set_curswant = TRUE;
}
- return OK;
+ retval = OK;
}
- --RedrawingDisabled;
- return FAIL;
+
+ if (RedrawingDisabled > 0)
+ --RedrawingDisabled;
+ return retval;
}
/*