From c59da47832a34a016da82782ff39dc83b0c3890f Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 20 Aug 2015 01:31:50 -0400 Subject: Revert "keep track of scrollback when scrolling" This reverts commit 7a8324949027d7ece88af525f8ae7fe67b379e72. --- src/screen.c | 33 +++++---------------------------- 1 file changed, 5 insertions(+), 28 deletions(-) (limited to 'src') diff --git a/src/screen.c b/src/screen.c index 336f2f1..8da88d6 100644 --- a/src/screen.c +++ b/src/screen.c @@ -531,34 +531,11 @@ void vt100_screen_scroll_down(VT100Screen *vt, int count) } } else { - int scrollback = vt->scrollback_length; - - if (vt->grid->row_count + count > scrollback) { - int overflow = vt->grid->row_count + count - scrollback; - - vt100_screen_ensure_capacity(vt, scrollback); - for (i = 0; i < overflow; ++i) { - free(vt->grid->rows[i].cells); - } - memmove( - &vt->grid->rows[0], &vt->grid->rows[overflow], - (scrollback - overflow) * sizeof(struct vt100_row)); - for (i = scrollback - count; i < scrollback; ++i) { - vt->grid->rows[i].cells = calloc( - vt->grid->max.col, sizeof(struct vt100_cell)); - } - vt->grid->row_count = scrollback; - vt->grid->row_top = scrollback - vt->grid->max.row; - } - else { - vt100_screen_ensure_capacity(vt, vt->grid->row_count + count); - for (i = 0; i < count; ++i) { - row = vt100_screen_row_at(vt, i + vt->grid->max.row); - row->cells = calloc( - vt->grid->max.col, sizeof(struct vt100_cell)); - } - vt->grid->row_count += count; - vt->grid->row_top += count; + for (i = 0; i < bottom - top + 1; ++i) { + row = vt100_screen_row_at(vt, top + i); + memset( + row->cells, 0, vt->grid->max.col * sizeof(struct vt100_cell)); + row->wrapped = 0; } } -- cgit v1.2.3