diff options
author | Ray Johnston <ray.johnston@artifex.com> | 2021-09-16 11:37:08 -0700 |
---|---|---|
committer | Ray Johnston <ray.johnston@artifex.com> | 2021-09-16 11:43:11 -0700 |
commit | 727d84d1a52d7949c13859c9b528dd74cb8be6a2 (patch) | |
tree | 777cdf46f2f44ce0f8037364b5aca86feef2aa4b | |
parent | 3dc164493a8872dbe6604e263a2ceaff6fa66366 (diff) | |
download | ghostpdl-727d84d1a52d7949c13859c9b528dd74cb8be6a2.tar.gz |
Fix Bug 704330: NupControl and clist problems to pkmraw.
Files that have a page with transparency followed by a page that does
not use transparency in the same nest that are using the clist, such as
the file for this bug and tests_private/comparefiles/Bug696687.pdf are
examples.
The problem is that the clist writer uses the 'clist_color_info' to
determine the depth, etc. when writing colors into the clist, and a page
that uses transparency changes it, but did not restore it when the pdf14
device was popped (disabled). The fix is simple -- restore this as well
as the color_info for the clistdev.
-rw-r--r-- | base/gdevp14.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/base/gdevp14.c b/base/gdevp14.c index 95974050c..d7992bc42 100644 --- a/base/gdevp14.c +++ b/base/gdevp14.c @@ -10410,6 +10410,7 @@ pdf14_clist_composite(gx_device * dev, gx_device ** pcdev, pdf14_decrement_smask_color(pgs, dev); /* Restore the color_info for the clist device */ clistdev->color_info = pdev->saved_target_color_info; + ((gx_device_clist_writer*)clistdev)->clist_color_info = clistdev->color_info; /* also reset for writer */ set_dev_proc(clistdev, encode_color, pdev->saved_target_encode_color); set_dev_proc(clistdev, decode_color, pdev->saved_target_decode_color); set_dev_proc(clistdev, get_color_mapping_procs, pdev->saved_target_get_color_mapping_procs); |