mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.2.4663: occasional crash when running the GUI tests
Problem: Occasional crash when running the GUI tests. Solution: Check that the line index is not too high. (closes #8681)
This commit is contained in:
parent
22ebd172e4
commit
17fa233f6f
19
src/screen.c
19
src/screen.c
@ -3634,9 +3634,9 @@ win_rest_invalid(win_T *wp)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* insert lines on the screen and update ScreenLines[]
|
* insert lines on the screen and update ScreenLines[]
|
||||||
* 'end' is the line after the scrolled part. Normally it is Rows.
|
* "end" is the line after the scrolled part. Normally it is Rows.
|
||||||
* When scrolling region used 'off' is the offset from the top for the region.
|
* When scrolling region used "off" is the offset from the top for the region.
|
||||||
* 'row' and 'end' are relative to the start of the region.
|
* "row" and "end" are relative to the start of the region.
|
||||||
*
|
*
|
||||||
* return FAIL for failure, OK for success.
|
* return FAIL for failure, OK for success.
|
||||||
*/
|
*/
|
||||||
@ -3661,14 +3661,15 @@ screen_ins_lines(
|
|||||||
/*
|
/*
|
||||||
* FAIL if
|
* FAIL if
|
||||||
* - there is no valid screen
|
* - there is no valid screen
|
||||||
* - the screen has to be redrawn completely
|
|
||||||
* - the line count is less than one
|
* - the line count is less than one
|
||||||
* - the line count is more than 'ttyscroll'
|
* - the line count is more than 'ttyscroll'
|
||||||
|
* - "end" is more than "Rows" (safety check, should not happen)
|
||||||
* - redrawing for a callback and there is a modeless selection
|
* - redrawing for a callback and there is a modeless selection
|
||||||
* - there is a popup window
|
* - there is a popup window
|
||||||
*/
|
*/
|
||||||
if (!screen_valid(TRUE)
|
if (!screen_valid(TRUE)
|
||||||
|| line_count <= 0 || line_count > p_ttyscroll
|
|| line_count <= 0 || line_count > p_ttyscroll
|
||||||
|
|| end > Rows
|
||||||
#ifdef FEAT_CLIPBOARD
|
#ifdef FEAT_CLIPBOARD
|
||||||
|| (clip_star.state != SELECT_CLEARED
|
|| (clip_star.state != SELECT_CLEARED
|
||||||
&& redrawing_for_callback > 0)
|
&& redrawing_for_callback > 0)
|
||||||
@ -3896,13 +3897,15 @@ screen_del_lines(
|
|||||||
* - the screen has to be redrawn completely
|
* - the screen has to be redrawn completely
|
||||||
* - the line count is less than one
|
* - the line count is less than one
|
||||||
* - the line count is more than 'ttyscroll'
|
* - the line count is more than 'ttyscroll'
|
||||||
|
* - "end" is more than "Rows" (safety check, should not happen)
|
||||||
* - redrawing for a callback and there is a modeless selection
|
* - redrawing for a callback and there is a modeless selection
|
||||||
*/
|
*/
|
||||||
if (!screen_valid(TRUE) || line_count <= 0
|
if (!screen_valid(TRUE)
|
||||||
|| (!force && line_count > p_ttyscroll)
|
|| line_count <= 0
|
||||||
|
|| (!force && line_count > p_ttyscroll)
|
||||||
|
|| end > Rows
|
||||||
#ifdef FEAT_CLIPBOARD
|
#ifdef FEAT_CLIPBOARD
|
||||||
|| (clip_star.state != SELECT_CLEARED
|
|| (clip_star.state != SELECT_CLEARED && redrawing_for_callback > 0)
|
||||||
&& redrawing_for_callback > 0)
|
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4663,
|
||||||
/**/
|
/**/
|
||||||
4662,
|
4662,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user