diff options
-rw-r--r-- | screen-redraw.c | 2 | ||||
-rw-r--r-- | status.c | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/screen-redraw.c b/screen-redraw.c index 7a31182a..1083642d 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -18,6 +18,7 @@ #include <sys/types.h> +#include <stdlib.h> #include <string.h> #include "tmux.h" @@ -299,6 +300,7 @@ screen_redraw_make_pane_status(struct client *c, struct window *w, screen_write_cnputs(&ctx, outlen, &gc, "%s", out); screen_write_stop(&ctx); + free(out); format_free(ft); wp->status_size = outlen; @@ -659,9 +659,10 @@ status_message_redraw(struct client *c) memcpy(&old_status, &c->status, sizeof old_status); lines = status_line_size(c->session); - if (lines <= 1) + if (lines <= 1) { + lines = 1; screen_init(&c->status, c->tty.sx, 1, 0); - else + } else screen_init(&c->status, c->tty.sx, lines, 0); len = screen_write_strlen("%s", c->message_string); @@ -811,9 +812,10 @@ status_prompt_redraw(struct client *c) memcpy(&old_status, &c->status, sizeof old_status); lines = status_line_size(c->session); - if (lines <= 1) + if (lines <= 1) { + lines = 1; screen_init(&c->status, c->tty.sx, 1, 0); - else + } else screen_init(&c->status, c->tty.sx, lines, 0); len = screen_write_strlen("%s", c->prompt_string); |