Foreground colours with the bright attribute set need to use the bright

entries in the palette. GitHub issue 954.
pull/956/head
nicm 2017-06-03 07:15:23 +00:00
parent 248aa54bfd
commit 493a1846d0
1 changed files with 17 additions and 8 deletions

25
tty.c
View File

@ -1841,10 +1841,18 @@ tty_check_fg(struct tty *tty, const struct window_pane *wp,
u_int colours;
int c;
/* Perform substitution if this pane has a palette */
if ((~gc->flags & GRID_FLAG_NOPALETTE) &&
(c = window_pane_get_palette(wp, gc->fg)) != -1)
gc->fg = c;
/*
* Perform substitution if this pane has a palette. If the bright
* attribute is set, use the bright entry in the palette by changing to
* the aixterm colour.
*/
if (~gc->flags & GRID_FLAG_NOPALETTE) {
c = gc->fg;
if (gc->fg < 8 && gc->attr & GRID_ATTR_BRIGHT)
c += 90;
if ((c = window_pane_get_palette(wp, c)) != -1)
gc->fg = c;
}
/* Is this a 24-bit colour? */
if (gc->fg & COLOUR_FLAG_RGB) {
@ -1894,10 +1902,11 @@ tty_check_bg(struct tty *tty, const struct window_pane *wp,
u_int colours;
int c;
/* Perform substitution if this pane has a palette */
if ((~gc->flags & GRID_FLAG_NOPALETTE) &&
(c = window_pane_get_palette(wp, gc->bg)) != -1)
gc->bg = c;
/* Perform substitution if this pane has a palette. */
if (~gc->flags & GRID_FLAG_NOPALETTE) {
if ((c = window_pane_get_palette(wp, gc->bg)) != -1)
gc->bg = c;
}
/* Is this a 24-bit colour? */
if (gc->bg & COLOUR_FLAG_RGB) {