=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/screen-redraw.c,v retrieving revision 1.39 retrieving revision 1.40 diff -c -r1.39 -r1.40 *** src/usr.bin/tmux/screen-redraw.c 2016/10/10 21:29:23 1.39 --- src/usr.bin/tmux/screen-redraw.c 2016/10/12 17:36:52 1.40 *************** *** 1,4 **** ! /* $OpenBSD: screen-redraw.c,v 1.39 2016/10/10 21:29:23 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: screen-redraw.c,v 1.40 2016/10/12 17:36:52 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 269,276 **** const char *fmt; struct format_tree *ft; char *out; ! size_t outlen, old_size = wp->status_size; struct screen_write_ctx ctx; if (wp == w->active) style_apply(&gc, w->options, "pane-active-border-style"); --- 269,277 ---- const char *fmt; struct format_tree *ft; char *out; ! size_t outlen; struct screen_write_ctx ctx; + struct screen old; if (wp == w->active) style_apply(&gc, w->options, "pane-active-border-style"); *************** *** 282,288 **** ft = format_create(NULL, 0); format_defaults(ft, c, NULL, NULL, wp); ! screen_free(&wp->status_screen); screen_init(&wp->status_screen, wp->sx, 1, 0); wp->status_screen.mode = 0; --- 283,289 ---- ft = format_create(NULL, 0); format_defaults(ft, c, NULL, NULL, wp); ! memcpy(&old, &wp->status_screen, sizeof old); screen_init(&wp->status_screen, wp->sx, 1, 0); wp->status_screen.mode = 0; *************** *** 301,307 **** format_free(ft); wp->status_size = outlen; ! return (wp->status_size != old_size); } /* Draw pane status. */ --- 302,314 ---- format_free(ft); wp->status_size = outlen; ! ! if (grid_compare(wp->status_screen.grid, old.grid) == 0) { ! screen_free(&old); ! return (0); ! } ! screen_free(&old); ! return (1); } /* Draw pane status. */ *************** *** 317,322 **** --- 324,331 ---- spos = options_get_number(oo, "status-position"); TAILQ_FOREACH(wp, &w->panes, entry) { + if (!window_pane_visible(wp)) + continue; if (pane_status == CELL_STATUS_TOP) yoff = wp->yoff - 1; else