diff --git a/src/image.c b/src/image.c index 8ee802a9d62..c717ac88dca 100644 --- a/src/image.c +++ b/src/image.c @@ -11423,6 +11423,18 @@ svg_load_image (struct frame *f, struct image *img, char *contents, img->background_valid = 1; } +#if HAVE_NTGUI + /* Windows stores the image colours in BGR format, and SVG expects + them in RGB. */ + foreground = (foreground & 0x0000FF) << 16 + | (foreground & 0xFF0000) >> 16 + | (foreground & 0x00FF00); + + background = (background & 0x0000FF) << 16 + | (background & 0xFF0000) >> 16 + | (background & 0x00FF00); +#endif + wrapped_contents = xmalloc (buffer_size); if (buffer_size <= snprintf (wrapped_contents, buffer_size, wrapper,