Terminal: keep cross-boundary rows dirty in {insert,delete}Lines

This commit is contained in:
Daniel Wennberg
2026-01-11 22:56:03 -08:00
parent 87b11e0892
commit 095c82910b

View File

@@ -1690,6 +1690,10 @@ pub fn insertLines(self: *Terminal, count: usize) void {
// Continue the loop to try handling this row again.
continue;
};
// The clone operation may overwrite the dirty flag, so make
// sure the row is still marked dirty.
dst_row.dirty = true;
} else {
if (!left_right) {
// Swap the src/dst cells. This ensures that our dst gets the
@@ -1888,6 +1892,10 @@ pub fn deleteLines(self: *Terminal, count: usize) void {
// Continue the loop to try handling this row again.
continue;
};
// The clone operation may overwrite the dirty flag, so make
// sure the row is still marked dirty.
dst_row.dirty = true;
} else {
if (!left_right) {
// Swap the src/dst cells. This ensures that our dst gets the