patch 8.1.1146: in MS-Windows console colors in a terminal window are wrong
Problem: In MS-Windows console colors in a terminal window are wrong.
Solution: Use the ansi index also for 16 colors. (Ken Takata)
diff --git a/src/terminal.c b/src/terminal.c
index 01cabf0..c7dc23f 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -2433,8 +2433,8 @@
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 @@
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;