aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-07-14 19:11:58 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-07-14 19:11:58 +0000
commitf08c9b2217c148e25a18a11fd55d96d93cbb3736 (patch)
treeb9da9c69f6a795b005f49cb04bf0ebb476e2e7d7
parentae2ea525752c9eb1be9e9d7b3fa71b390a70f2ec (diff)
downloadrtmux-f08c9b2217c148e25a18a11fd55d96d93cbb3736.tar.gz
rtmux-f08c9b2217c148e25a18a11fd55d96d93cbb3736.tar.bz2
rtmux-f08c9b2217c148e25a18a11fd55d96d93cbb3736.zip
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.
-rw-r--r--screen-redraw.c2
-rw-r--r--status.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/screen-redraw.c b/screen-redraw.c
index 70f94a28..e63f8725 100644
--- a/screen-redraw.c
+++ b/screen-redraw.c
@@ -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);
}
diff --git a/status.c b/status.c
index e2ffa0a7..60d7799c 100644
--- a/status.c
+++ b/status.c
@@ -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);
}