diff --git a/screen-redraw.c b/screen-redraw.c index 69f6f2b5..6d73fc7c 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -1,4 +1,4 @@ -/* $Id: screen-redraw.c,v 1.44 2009-07-31 20:35:21 tcunha Exp $ */ +/* $Id: screen-redraw.c,v 1.45 2009-08-10 21:41:35 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -173,6 +173,7 @@ screen_redraw_screen(struct client *c, int status_only) /* If only drawing status and it is present, don't need the rest. */ if (status_only && status) { tty_draw_line(tty, &c->status, 0, 0, tty->sy - 1); + tty_reset(tty); return; } @@ -214,6 +215,7 @@ screen_redraw_screen(struct client *c, int status_only) /* Draw the status line. */ if (status) tty_draw_line(tty, &c->status, 0, 0, tty->sy - 1); + tty_reset(tty); } /* Draw a single pane. */ @@ -224,4 +226,5 @@ screen_redraw_pane(struct client *c, struct window_pane *wp) for (i = 0; i < wp->sy; i++) tty_draw_line(&c->tty, wp->screen, i, wp->xoff, wp->yoff); + tty_reset(&c->tty); } diff --git a/server.c b/server.c index 98897316..ee5a2622 100644 --- a/server.c +++ b/server.c @@ -1,4 +1,4 @@ -/* $Id: server.c,v 1.165 2009-08-09 17:19:18 tcunha Exp $ */ +/* $Id: server.c,v 1.166 2009-08-10 21:41:35 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -871,6 +871,7 @@ server_handle_client(struct client *c) /* Ensure cursor position and mode settings. */ status = options_get_number(&c->session->options, "status"); + tty_region(&c->tty, 0, c->tty.sy - 1, 0); if (!window_pane_visible(wp) || wp->yoff + s->cy >= c->tty.sy - status) tty_cursor(&c->tty, 0, 0, 0, 0); else