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.
pull/1/head
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);
}