Copy old cells to new cells when resizing

Previously all cells were erased which resulted in the screen becoming
blank in some places until it was redrawn.


Former-commit-id: ada8b1087d
This commit is contained in:
Leroy Hopson 2020-09-25 10:25:46 +07:00
parent 313f6b8b60
commit 11657d50f7

View file

@ -536,7 +536,7 @@ void Terminal::update_size()
Godot::print(String("resized_rows: {0}, resized_cols: {1}").format(Array::make(rows, cols))); Godot::print(String("resized_rows: {0}, resized_cols: {1}").format(Array::make(rows, cols)));
cells = {}; Cells new_cells = {};
for (int x = 0; x < rows; x++) for (int x = 0; x < rows; x++)
{ {
@ -544,12 +544,21 @@ void Terminal::update_size()
for (int y = 0; y < cols; y++) for (int y = 0; y < cols; y++)
{ {
row[y] = empty_cell; if (x < cells.size() && y < cells[x].size())
{
row[y] = cells[x][y];
}
else
{
row[y] = empty_cell;
}
} }
cells.push_back(row); new_cells.push_back(row);
} }
cells = new_cells;
tsm_screen_resize(screen, cols, rows); tsm_screen_resize(screen, cols, rows);
sleep = false; sleep = false;