From: Bram Moolenaar Date: Sat, 19 Aug 2017 19:23:05 +0000 (+0200) Subject: patch 8.0.0968: crash when switching terminal modes X-Git-Tag: v8.0.0968 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77ac9b5c62b35e90df35fc0bfdee57636cedb144;p=vim patch 8.0.0968: crash when switching terminal modes Problem: Crash when switching terminal modes. (Nikolai Pavlov) Solution: Check that there are scrollback lines. --- diff --git a/src/terminal.c b/src/terminal.c index 6b401beee..bb2dba90c 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -1037,14 +1037,13 @@ term_enter_job_mode() /* Remove the terminal contents from the scrollback and the buffer. */ gap = &term->tl_scrollback; - while (curbuf->b_ml.ml_line_count > term->tl_scrollback_scrolled) + while (curbuf->b_ml.ml_line_count > term->tl_scrollback_scrolled + && gap->ga_len > 0) { ml_delete(curbuf->b_ml.ml_line_count, FALSE); line = (sb_line_T *)gap->ga_data + gap->ga_len - 1; vim_free(line->sb_cells); --gap->ga_len; - if (gap->ga_len == 0) - break; } check_cursor(); diff --git a/src/version.c b/src/version.c index 28dffea66..2f9012745 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 968, /**/ 967, /**/