version 1.138, 2012/07/10 11:53:01 |
version 1.139, 2012/08/14 08:58:25 |
|
|
{ |
{ |
struct window_pane *wp = ctx->wp; |
struct window_pane *wp = ctx->wp; |
struct client *c; |
struct client *c; |
struct session *s; |
|
u_int i; |
u_int i; |
|
|
/* wp can be NULL if updating the screen but not the terminal. */ |
/* wp can be NULL if updating the screen but not the terminal. */ |
|
|
|
|
for (i = 0; i < ARRAY_LENGTH(&clients); i++) { |
for (i = 0; i < ARRAY_LENGTH(&clients); i++) { |
c = ARRAY_ITEM(&clients, i); |
c = ARRAY_ITEM(&clients, i); |
if (c == NULL || c->session == NULL) |
if (c == NULL || c->session == NULL || c->tty.term == NULL) |
continue; |
continue; |
if (c->flags & CLIENT_SUSPENDED) |
if (c->flags & (CLIENT_SUSPENDED|TTY_FREEZE)) |
continue; |
continue; |
s = c->session; |
if (c->session->curw->window != wp->window) |
|
continue; |
|
|
if (s->curw->window == wp->window) { |
ctx->xoff = wp->xoff; |
if (c->tty.term == NULL) |
ctx->yoff = wp->yoff; |
continue; |
if (status_at_line(c) == 0) |
if (c->tty.flags & TTY_FREEZE) |
ctx->yoff++; |
continue; |
|
|
|
ctx->xoff = wp->xoff; |
cmdfn(&c->tty, ctx); |
ctx->yoff = wp->yoff; |
|
if (status_at_line(c) == 0) |
|
ctx->yoff++; |
|
|
|
cmdfn(&c->tty, ctx); |
|
} |
|
} |
} |
} |
} |
|
|