diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-04-11 11:40:13 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-04-11 11:40:13 +0200 |
commit | ef8c83c550e2562362c4385f0823e41ae67cfada (patch) | |
tree | 0a74a7b121da0233ef43151d34e717b191d45cb4 | |
parent | a7be0f2451f46d4940f3a4998e8f69297206739a (diff) |
patch 8.1.1146: in MS-Windows console colors in a terminal window are wrongv8.1.1146
Problem: In MS-Windows console colors in a terminal window are wrong.
Solution: Use the ansi index also for 16 colors. (Ken Takata)
-rw-r--r-- | src/terminal.c | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/terminal.c b/src/terminal.c index 01cabf021f..c7dc23f904 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -2433,8 +2433,8 @@ color2index(VTermColor *color, int fg, int *boldp) if (color->ansi_index != VTERM_ANSI_INDEX_NONE) { /* First 16 colors and default: use the ANSI index, because these - * colors can be redefined. */ - if (t_colors >= 16) + * colors can be redefined, we use the RGB values. */ + if (t_colors > 256) return color->ansi_index; switch (color->ansi_index) { @@ -3604,6 +3604,7 @@ set_vterm_palette(VTerm *vterm, long_u *rgb) for (; index < 16; index++) { VTermColor color; + color.red = (unsigned)(rgb[index] >> 16); color.green = (unsigned)(rgb[index] >> 8) & 255; color.blue = (unsigned)rgb[index] & 255; diff --git a/src/version.c b/src/version.c index 394f89c278..cb20b885b3 100644 --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1146, +/**/ 1145, /**/ 1144, |