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-14 19:11:58 +00:00
parent ae2ea52575
commit f08c9b2217
2 changed files with 3 additions and 3 deletions

View File

@ -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

@ -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);
}