diff --git a/win/win32/mhmap.c b/win/win32/mhmap.c index d5e6b116e..46a7ee1d0 100644 --- a/win/win32/mhmap.c +++ b/win/win32/mhmap.c @@ -982,13 +982,12 @@ paintGlyph(PNHMapWindow data, int i, int j, RECT * rect) ch = glyphinfo->gm.u->utf32ch; } #endif - if ((glyphinfo->gm.customcolor & NH_BASIC_COLOR) == 0) { - rgbcolor = RGB((glyphinfo->gm.customcolor >> 16) & 0xFF, - (glyphinfo->gm.customcolor >> 8) & 0xFF, - (glyphinfo->gm.customcolor >> 0) & 0xFF); - } else { - color = (int) COLORVAL(glyphinfo->gm.customcolor); - rgbcolor = nhcolor_to_RGB(color); + if (glyphinfo->gm.customcolor != 0 + && (mswin_procs.wincap2 & WC2_EXTRACOLORS) != 0) { + if ((glyphinfo->gm.customcolor & NH_BASIC_COLOR) != 0) { + color = (int) COLORVAL(glyphinfo->gm.customcolor); + rgbcolor = nhcolor_to_RGB(color); + } } if (((data->map[i][j].gm.glyphflags & MG_PET) && iflags.hilite_pet) || ((data->map[i][j].gm.glyphflags & (MG_DETECT | MG_BW_LAVA