svn commit: r261547 - head/sys/teken

Aleksandr Rybalko ray at freebsd.org
Thu Feb 6 13:35:09 UTC 2014


On Thu, 06 Feb 2014 13:24:53 +0100
"Ronald Klop" <ronald-lists at klop.ws> wrote:

> On Thu, 06 Feb 2014 12:38:40 +0100, Aleksandr Rybalko <ray at freebsd.org>  
> wrote:
> 
> > Author: ray
> > Date: Thu Feb  6 11:38:39 2014
> > New Revision: 261547
> > URL: http://svnweb.freebsd.org/changeset/base/261547
> >
> > Log:
> >   Fix crash on load of bigger font. It reduce width and height of  
> > terminal, but
> >   current cursor position stay bigger that terminal window size, so next  
> > input
> >   triggers assert.
> >  Reported by:	emaste
> >  Sponsored by:	The FreeBSD Foundation
> >
> > Modified:
> >   head/sys/teken/teken.c
> >
> > Modified: head/sys/teken/teken.c
> > ==============================================================================
> > --- head/sys/teken/teken.c	Thu Feb  6 10:52:51 2014	(r261546)
> > +++ head/sys/teken/teken.c	Thu Feb  6 11:38:39 2014	(r261547)
> > @@ -338,10 +338,26 @@ teken_get_winsize(teken_t *t)
> >  	return (&t->t_winsize);
> >  }
> > +static void
> > +taken_trim_cursor_pos(teken_t *t, const teken_pos_t *new)
> 
> Was teken... already taken?

Oops. it is almost taken :)

Fixed in r261551.

Thanks Ronald!

> 
> 
> Ronald.
> 
> 
> > +{
> > +	const teken_pos_t *cur;
> > +
> > +	cur = &t->t_winsize;
> > +
> > +	if (cur->tp_row < new->tp_row || cur->tp_col < new->tp_col)
> > +		return;
> > +	if (t->t_cursor.tp_row >= new->tp_row)
> > +		t->t_cursor.tp_row = new->tp_row - 1;
> > +	if (t->t_cursor.tp_col >= new->tp_col)
> > +		t->t_cursor.tp_col = new->tp_col - 1;
> > +}
> > +
> >  void
> >  teken_set_winsize(teken_t *t, const teken_pos_t *p)
> >  {
> > +	taken_trim_cursor_pos(t, p);
> >  	t->t_winsize = *p;
> >  	teken_subr_do_reset(t);
> >  }
> > @@ -350,6 +366,7 @@ void
> >  teken_set_winsize_noreset(teken_t *t, const teken_pos_t *p)
> >  {
> > +	taken_trim_cursor_pos(t, p);
> >  	t->t_winsize = *p;
> >  	teken_subr_do_resize(t);
> >  }
> > _______________________________________________
> > svn-src-all at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/svn-src-all
> > To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"

WBW
-- 
Aleksandr Rybalko <ray at freebsd.org>


More information about the svn-src-all mailing list