diff --git a/sys/teken/teken.c b/sys/teken/teken.c index 58f4f37162d5..9ca81e60719d 100644 --- a/sys/teken/teken.c +++ b/sys/teken/teken.c @@ -341,10 +341,7 @@ teken_set_winsize(teken_t *t, const teken_pos_t *p) { t->t_winsize = *p; - /* XXX: bounds checking with cursor/etc! */ - t->t_scrollreg.ts_begin = 0; - t->t_scrollreg.ts_end = t->t_winsize.tp_row; - t->t_originreg = t->t_scrollreg; + teken_subr_do_reset(t); } /* diff --git a/sys/teken/teken_subr.h b/sys/teken/teken_subr.h index 21982e26d592..38a29ee1ed21 100644 --- a/sys/teken/teken_subr.h +++ b/sys/teken/teken_subr.h @@ -927,6 +927,9 @@ teken_subr_do_reset(teken_t *t) t->t_curattr = t->t_defattr; t->t_cursor.tp_row = t->t_cursor.tp_col = 0; + t->t_scrollreg.ts_begin = 0; + t->t_scrollreg.ts_end = t->t_winsize.tp_row; + t->t_originreg = t->t_scrollreg; t->t_stateflags = TS_AUTOWRAP; teken_scs_set(t, 0, teken_scs_us_ascii);