From cfd0b5d2d8122980fddc492fed8faa88d8490d51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 16 May 2020 23:53:23 +0200 Subject: [PATCH] term: scrolling: in debug builds, verify all rows are allocated --- terminal.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/terminal.c b/terminal.c index 031319d3..0e014bdd 100644 --- a/terminal.c +++ b/terminal.c @@ -1756,6 +1756,11 @@ term_scroll_partial(struct terminal *term, struct scroll_region region, int rows sixel_delete_in_range(term, max(region.end - rows, region.start), region.end - 1); term_damage_scroll(term, DAMAGE_SCROLL, region, rows); term->grid->cur_row = grid_row(term->grid, term->grid->cursor.point.row); + +#if defined(_DEBUG) + for (int r = 0; r < term->rows; r++) + assert(grid_row(term->grid, r) != NULL); +#endif } void @@ -1805,6 +1810,11 @@ term_scroll_reverse_partial(struct terminal *term, sixel_delete_in_range(term, region.start, min(region.start + rows, region.end) - 1); term_damage_scroll(term, DAMAGE_SCROLL_REVERSE, region, rows); term->grid->cur_row = grid_row(term->grid, term->grid->cursor.point.row); + +#if defined(_DEBUG) + for (int r = 0; r < term->rows; r++) + assert(grid_row(term->grid, r) != NULL); +#endif } void