mirror of
https://github.com/tmux/tmux.git
synced 2024-12-14 02:48:47 +00:00
Restore window_pane_visible for drawing panes and borders, fixes issue
1458 reported by Felix Rosencrantz, problem located by Avi Halachmi.
This commit is contained in:
parent
84df87011c
commit
3fa538181b
@ -104,6 +104,8 @@ screen_redraw_cell_border(struct client *c, u_int px, u_int py)
|
||||
|
||||
/* Check all the panes. */
|
||||
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||
if (!window_pane_visible(wp))
|
||||
continue;
|
||||
if ((retval = screen_redraw_cell_border1(wp, px, py)) != -1)
|
||||
return (!!retval);
|
||||
}
|
||||
@ -128,6 +130,9 @@ screen_redraw_check_cell(struct client *c, u_int px, u_int py, int pane_status,
|
||||
|
||||
if (pane_status != CELL_STATUS_OFF) {
|
||||
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||
if (!window_pane_visible(wp))
|
||||
continue;
|
||||
|
||||
if (pane_status == CELL_STATUS_TOP)
|
||||
line = wp->yoff - 1;
|
||||
else
|
||||
@ -140,6 +145,8 @@ screen_redraw_check_cell(struct client *c, u_int px, u_int py, int pane_status,
|
||||
}
|
||||
|
||||
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||
if (!window_pane_visible(wp))
|
||||
continue;
|
||||
*wpp = wp;
|
||||
|
||||
/* If outside the pane and its border, skip it. */
|
||||
@ -325,6 +332,8 @@ screen_redraw_draw_pane_status(struct screen_redraw_ctx *ctx)
|
||||
log_debug("%s: %s @%u", __func__, c->name, w->id);
|
||||
|
||||
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||
if (!window_pane_visible(wp))
|
||||
continue;
|
||||
s = &wp->status_screen;
|
||||
|
||||
size = wp->status_size;
|
||||
@ -456,7 +465,7 @@ screen_redraw_pane(struct client *c, struct window_pane *wp)
|
||||
{
|
||||
struct screen_redraw_ctx ctx;
|
||||
|
||||
if (wp->layout_cell == NULL)
|
||||
if (!window_pane_visible(wp))
|
||||
return;
|
||||
|
||||
screen_redraw_set_context(c, &ctx);
|
||||
@ -545,7 +554,7 @@ screen_redraw_draw_panes(struct screen_redraw_ctx *ctx)
|
||||
log_debug("%s: %s @%u", __func__, c->name, w->id);
|
||||
|
||||
TAILQ_FOREACH(wp, &w->panes, entry) {
|
||||
if (wp->layout_cell == NULL)
|
||||
if (!window_pane_visible(wp))
|
||||
continue;
|
||||
screen_redraw_draw_pane(ctx, wp);
|
||||
if (c->flags & CLIENT_IDENTIFY)
|
||||
|
Loading…
Reference in New Issue
Block a user