Make resizing of teken terminals a bit more safe.
Just perform a full reset when resizing the terminal. This means the cursor, scrolling region, etc. are never positioned outside the terminal.
This commit is contained in:
parent
7b2924cb17
commit
b03552b5e2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=197114
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user