Sync OpenBSD patchset 630:

If redrawing line 0 of the screen onto the tty, there can't be a wrap flag on
the previous line, so move the cursor. Fixes status line redraw issues when
resizing in choose mode and hopefully at other times as well.
This commit is contained in:
Tiago Cunha 2010-02-02 23:56:25 +00:00
parent c4724c7861
commit ebcc0ebd2d
1 changed files with 2 additions and 2 deletions

4
tty.c
View File

@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.186 2010-01-05 23:49:24 tcunha Exp $ */ /* $Id: tty.c,v 1.187 2010-02-02 23:56:25 tcunha Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -484,7 +484,7 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
gl = NULL; gl = NULL;
if (py != 0) if (py != 0)
gl = &s->grid->linedata[s->grid->hsize + py - 1]; gl = &s->grid->linedata[s->grid->hsize + py - 1];
if (oy + py == 0 || (gl != NULL && !(gl->flags & GRID_LINE_WRAPPED)) || if (oy + py == 0 || gl == NULL || !(gl->flags & GRID_LINE_WRAPPED) ||
tty->cx < tty->sx || ox != 0 || tty->cx < tty->sx || ox != 0 ||
(oy + py != tty->cy + 1 && tty->cy != s->rlower + oy)) (oy + py != tty->cy + 1 && tty->cy != s->rlower + oy))
tty_cursor(tty, ox, oy + py); tty_cursor(tty, ox, oy + py);