From 1254e6db8360fac99561ef0f10ac3cb1bfef30b1 Mon Sep 17 00:00:00 2001 From: Christian Brabandt Date: Mon, 29 Jul 2024 21:19:51 +0200 Subject: [PATCH] patch 9.1.0643: terminal: cursor may end up on invalid position Problem: terminal: cursor may end up on invalid position after reducing the scrollback lines (user202729) Solution: After reducing the scrollback size, check the cursor position, making sure it does not end up on an invalid line fixes: #15351 Signed-off-by: Christian Brabandt --- src/terminal.c | 4 ++++ src/version.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/terminal.c b/src/terminal.c index c681f3a432..1fc0ef9688 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -3451,6 +3451,10 @@ limit_scrollback(term_T *term, garray_T *gap, int update_buffer) sizeof(sb_line_T) * gap->ga_len); if (update_buffer) term->tl_scrollback_scrolled -= todo; + + // make sure cursor is on a valid line + if (curbuf == term->tl_buffer) + check_cursor(); } /* diff --git a/src/version.c b/src/version.c index 153685953a..bfcb7bf8e3 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 643, /**/ 642, /**/