From ea6428a5d2c3c753c3123b3ecace7357e97eae50 Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 31 May 2017 10:29:15 +0000 Subject: It is not OK to ignore SIGWINCH if SIOCGWINSZ reports the size has unchanged, because it may have changed and changed back in the time between us getting the signal and calling ioctl(). Always redraw when we see SIGWINCH. --- tty.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'tty.c') diff --git a/tty.c b/tty.c index 9de1f50a..72453821 100644 --- a/tty.c +++ b/tty.c @@ -120,7 +120,7 @@ tty_init(struct tty *tty, struct client *c, int fd, char *term) return (0); } -int +void tty_resize(struct tty *tty) { struct client *c = tty->client; @@ -139,21 +139,15 @@ tty_resize(struct tty *tty) sy = 24; } log_debug("%s: %s now %ux%u", __func__, c->name, sx, sy); - - if (!tty_set_size(tty, sx, sy)) - return (0); + tty_set_size(tty, sx, sy); tty_invalidate(tty); - return (1); } -int +void tty_set_size(struct tty *tty, u_int sx, u_int sy) { - if (sx == tty->sx && sy == tty->sy) - return (0); tty->sx = sx; tty->sy = sy; - return (1); } static void -- cgit