Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Feb 2014 15:32:29 +0200
From:      Aleksandr Rybalko <ray@freebsd.org>
To:        "Ronald Klop" <ronald-lists@klop.ws>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r261547 - head/sys/teken
Message-ID:  <20140206153229.1afa30afc5c7ccec45adde86@freebsd.org>
In-Reply-To: <op.xau0rrfkkndu52@ronaldradial.radialsg.local>
References:  <201402061138.s16BceLv096268@svn.freebsd.org> <op.xau0rrfkkndu52@ronaldradial.radialsg.local>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 06 Feb 2014 13:24:53 +0100
"Ronald Klop" <ronald-lists@klop.ws> wrote:

> On Thu, 06 Feb 2014 12:38:40 +0100, Aleksandr Rybalko <ray@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@freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/svn-src-all
> > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140206153229.1afa30afc5c7ccec45adde86>