summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-04-11 11:40:13 +0200
committerBram Moolenaar <Bram@vim.org>2019-04-11 11:40:13 +0200
commitef8c83c550e2562362c4385f0823e41ae67cfada (patch)
tree0a74a7b121da0233ef43151d34e717b191d45cb4
parenta7be0f2451f46d4940f3a4998e8f69297206739a (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.c5
-rw-r--r--src/version.c2
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,