From 1513f7024bbc1ee46a9124b191e3407cdfb53c16 Mon Sep 17 00:00:00 2001 From: Konstantin Hudyakov Date: Thu, 21 Aug 2025 16:22:39 +0300 Subject: [PATCH] [terminal] IJPL-203233 Ensure anyLineChanged flag is set before flushing the changes There are reports with exceptions where for some reason, `linesDiscardedFromHistory` is called without preceding `linesChanged`, so `anyLineChanged` flag is not set. As a result, we get NPE here and crush the terminal session emulation. Since the actual case is unclear, let's just ensure that this flag is set. GitOrigin-RevId: dcd27ea51fc1dbc69889fe2d9ff443139ea250dd --- .../intellij/terminal/backend/TerminalContentChangesTracker.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/terminal/backend/src/com/intellij/terminal/backend/TerminalContentChangesTracker.kt b/plugins/terminal/backend/src/com/intellij/terminal/backend/TerminalContentChangesTracker.kt index 049d5e8389bd..b2ac897afb91 100644 --- a/plugins/terminal/backend/src/com/intellij/terminal/backend/TerminalContentChangesTracker.kt +++ b/plugins/terminal/backend/src/com/intellij/terminal/backend/TerminalContentChangesTracker.kt @@ -57,6 +57,7 @@ class TerminalContentChangesTracker( else { val additionalLines = lines.subList(lastChangedVisualLine, lines.size) lastChangedVisualLine = 0 + anyLineChanged = true flushChanges(additionalLines) } }