diff options
author | Ray Johnston <ray.johnston@artifex.com> | 2021-09-16 11:37:08 -0700 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2021-09-16 20:31:10 +0100 |
commit | 64e1d4f42564ce2e18e0e0833b33ad042aee5593 (patch) | |
tree | 7bf3558f96b339c2412efeb51b601560a914379d | |
parent | 1c4b4ed8772c561034b267f30c44c8b072ee4c26 (diff) | |
download | ghostpdl-64e1d4f42564ce2e18e0e0833b33ad042aee5593.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); |