From ded36857c6ac60808909454a06e021fafe151f41 Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Wed, 12 Oct 2016 16:27:45 +0100 Subject: Bug 697065: Fix bug in CMYK -> RGB pixmap converter. When caching the cmyk values used to generate a given rgb value, it is best to cache the values before processing. --- source/fitz/colorspace.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'source') diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c index 0e8ca594..6313fb70 100644 --- a/source/fitz/colorspace.c +++ b/source/fitz/colorspace.c @@ -1114,22 +1114,26 @@ static inline void cached_cmyk_conv(unsigned char *restrict const pr, unsigned c } else if (k == 0 && c == 0 && m == 0 && y == 0) { - *pr = *pg = *pb = 255; *C = 0; *M = 0; *Y = 0; *K = 0; + *pr = *pg = *pb = 255; } else if (k == 255) { - *pr = *pg = *pb = 0; *C = 0; *M = 0; *Y = 0; *K = 255; + *pr = *pg = *pb = 0; } else { + *C = c; + *M = m; + *Y = y; + *K = k; c += c>>7; m += m>>7; y += y>>7; @@ -1221,10 +1225,6 @@ static inline void cached_cmyk_conv(unsigned char *restrict const pr, unsigned c *pr = r>>23; *pg = g>>23; *pb = b>>23; - *C = c; - *M = m; - *Y = y; - *K = k; } #else *pr = 255 - (unsigned char)fz_mini(c + k, 255); -- cgit v1.2.3