From 77ac9b5c62b35e90df35fc0bfdee57636cedb144 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 19 Aug 2017 21:23:05 +0200 Subject: [PATCH] patch 8.0.0968: crash when switching terminal modes Problem: Crash when switching terminal modes. (Nikolai Pavlov) Solution: Check that there are scrollback lines. --- src/terminal.c | 5 ++--- src/version.c | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) 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, /**/ -- 2.50.1