For some reason when clearing status/message it was redrawing the entire client

not just the status line. Changing this also revealed the check for the status
line was incorrect when drawing the pane.
This commit is contained in:
Nicholas Marriott 2009-07-15 17:44:06 +00:00
parent 72d56bd614
commit ff500b46c9
2 changed files with 5 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $Id: screen-redraw.c,v 1.40 2009-07-15 17:43:45 nicm Exp $ */
/* $Id: screen-redraw.c,v 1.41 2009-07-15 17:44:06 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -166,7 +166,7 @@ screen_redraw_screen(struct client *c, int status_only)
/* Draw the pane. */
for (i = 0; i < wp->sy; i++) {
if (status_only && i != tty->sy - 1)
if (status_only && wp->yoff + i != tty->sy - 1)
continue;
tty_draw_line(tty, wp->screen, i, wp->xoff, wp->yoff);
}

View File

@ -1,4 +1,4 @@
/* $Id: status.c,v 1.92 2009-07-15 17:43:45 nicm Exp $ */
/* $Id: status.c,v 1.93 2009-07-15 17:44:06 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -494,7 +494,7 @@ status_message_clear(struct client *c)
c->message_string = NULL;
c->tty.flags &= ~(TTY_NOCURSOR|TTY_FREEZE);
c->flags |= CLIENT_REDRAW;
c->flags |= CLIENT_STATUS;
screen_reinit(&c->status);
}
@ -581,7 +581,7 @@ status_prompt_clear(struct client *c)
c->prompt_buffer = NULL;
c->tty.flags &= ~(TTY_NOCURSOR|TTY_FREEZE);
c->flags |= CLIENT_REDRAW;
c->flags |= CLIENT_STATUS;
screen_reinit(&c->status);
}