splash/Splash.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
New commits: commit d7d61dcda91910f7eb2548b19e8380d7c3232dd3 Author: Thomas Freitag <[email protected]> Date: Wed Feb 12 21:50:38 2014 +0100 blend usage in PDF with spot colors casue random output The reason for the random colors is the uninitialized local variable cBlend. The blend functions only fills offset 0 to 3, so offset 4 up to 4 + SPOT_NCOMPS are left uninitialized, but all offsets are stored in the bitmap. So we need to initialize these offsets with 0! Bug #74883 diff --git a/splash/Splash.cc b/splash/Splash.cc index 4a7d814..6d4dd26 100644 --- a/splash/Splash.cc +++ b/splash/Splash.cc @@ -13,7 +13,7 @@ // // Copyright (C) 2005-2013 Albert Astals Cid <[email protected]> // Copyright (C) 2005 Marco Pesenti Gritti <[email protected]> -// Copyright (C) 2010-2013 Thomas Freitag <[email protected]> +// Copyright (C) 2010-2014 Thomas Freitag <[email protected]> // Copyright (C) 2010 Christian Feuersänger <[email protected]> // Copyright (C) 2011-2013 William Bader <[email protected]> // Copyright (C) 2012 Markus Trippelsdorf <[email protected]> @@ -584,6 +584,13 @@ void Splash::pipeRun(SplashPipe *pipe) { //----- blend function if (state->blendFunc) { +#ifdef SPLASH_CMYK + if (bitmap->mode == splashModeDeviceN8) { + for (int k = 4; k < 4 + SPOT_NCOMPS; k++) { + cBlend[k] = 0; + } + } +#endif (*state->blendFunc)(cSrc, cDest, cBlend, bitmap->mode); }
_______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
