diff --git a/terminal.c b/terminal.c index 14ee063c..28729f20 100644 --- a/terminal.c +++ b/terminal.c @@ -869,8 +869,8 @@ term_reset(struct terminal *term, bool hard) term->normal.offset = term->normal.view = 0; term->alt.offset = term->alt.view = 0; for (size_t i = 0; i < term->rows; i++) { - memset(term->normal.rows[i]->cells, 0, term->cols * sizeof(struct cell)); - memset(term->alt.rows[i]->cells, 0, term->cols * sizeof(struct cell)); + memset(grid_row_and_alloc(&term->normal, i)->cells, 0, term->cols * sizeof(struct cell)); + memset(grid_row_and_alloc(&term->alt, i)->cells, 0, term->cols * sizeof(struct cell)); } for (size_t i = term->rows; i < term->normal.num_rows; i++) { grid_row_free(term->normal.rows[i]);