Merge branch 'obsd-master'

This commit is contained in:
Thomas Adam 2014-02-22 20:48:44 +00:00
commit 150ef86800
3 changed files with 24 additions and 8 deletions

View File

@ -53,6 +53,7 @@ layout_create_cell(struct layout_cell *lcparent)
lc->yoff = UINT_MAX; lc->yoff = UINT_MAX;
lc->wp = NULL; lc->wp = NULL;
lc->lastwp = NULL;
return (lc); return (lc);
} }

18
style.c
View File

@ -203,7 +203,13 @@ style_apply(struct grid_cell *gc, struct options *oo, const char *name)
memcpy(gc, &grid_default_cell, sizeof *gc); memcpy(gc, &grid_default_cell, sizeof *gc);
gcp = options_get_style(oo, name); gcp = options_get_style(oo, name);
if (gcp->flags & GRID_FLAG_FG256)
colour_set_fg(gc, gcp->fg | 0x100);
else
colour_set_fg(gc, gcp->fg); colour_set_fg(gc, gcp->fg);
if (gcp->flags & GRID_FLAG_BG256)
colour_set_bg(gc, gcp->bg | 0x100);
else
colour_set_bg(gc, gcp->bg); colour_set_bg(gc, gcp->bg);
gc->attr |= gcp->attr; gc->attr |= gcp->attr;
} }
@ -215,10 +221,18 @@ style_apply_update(struct grid_cell *gc, struct options *oo, const char *name)
struct grid_cell *gcp; struct grid_cell *gcp;
gcp = options_get_style(oo, name); gcp = options_get_style(oo, name);
if (gcp->fg != 8) if (gcp->fg != 8) {
if (gcp->flags & GRID_FLAG_FG256)
colour_set_fg(gc, gcp->fg | 0x100);
else
colour_set_fg(gc, gcp->fg); colour_set_fg(gc, gcp->fg);
if (gcp->bg != 8) }
if (gcp->bg != 8) {
if (gcp->flags & GRID_FLAG_BG256)
colour_set_bg(gc, gcp->bg | 0x100);
else
colour_set_bg(gc, gcp->bg); colour_set_bg(gc, gcp->bg);
}
if (gcp->attr != 0) if (gcp->attr != 0)
gc->attr |= gcp->attr; gc->attr |= gcp->attr;
} }

View File

@ -407,8 +407,9 @@ window_pane_active_set(struct window_pane *wp, struct window_pane *nextwp)
* Previously active pane, if any, must not be the same as the source * Previously active pane, if any, must not be the same as the source
* pane. * pane.
*/ */
if (nextwp->layout_cell->parent != NULL) { lc = nextwp->layout_cell->parent;
lastwp = nextwp->layout_cell->parent->lastwp; if (lc != NULL && lc->lastwp != NULL) {
lastwp = lc->lastwp;
if (lastwp != wp && window_pane_visible(lastwp)) if (lastwp != wp && window_pane_visible(lastwp))
return (lastwp); return (lastwp);
} }