diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2020-11-20 15:34:54 +0000 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2020-11-20 15:38:26 +0000 |
commit | e2e50a951f3f06c48d908ea8f095e2d7ae2ee5e9 (patch) | |
tree | 75ae8f085101a2cea7a51ae873d352656b7ccbaf /base/gxclrect.c | |
parent | 86ed012049f58ef01d02c18b8f16c6f343be30db (diff) | |
download | ghostpdl-e2e50a951f3f06c48d908ea8f095e2d7ae2ee5e9.tar.gz |
Bug 703161: Fix unknown error when interpolating transparent imagemasks.
Patch from Alex Cherepanov.
Add a dev_spec_op to check for whether copy_alpha is disabled or not.
Clist devices with transparency disable it. Use this to bolster the
decision made in mask_suitable_for_interpolation.
Diffstat (limited to 'base/gxclrect.c')
-rw-r--r-- | base/gxclrect.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/base/gxclrect.c b/base/gxclrect.c index 6f71b61af..d0f81ac4e 100644 --- a/base/gxclrect.c +++ b/base/gxclrect.c @@ -599,6 +599,10 @@ clist_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data, int size) return 1; if (dev_spec_op == gxdso_pattern_shfill_doesnt_need_path) return 1; + if (dev_spec_op == gxdso_copy_alpha_disabled) { + gx_device_clist_writer * const cdev = &((gx_device_clist *)pdev)->writer; + return (cdev->disable_mask & clist_disable_copy_alpha) != 0; + } if (dev_spec_op == gxdso_supports_devn || dev_spec_op == gxdso_skip_icc_component_validation) { cmm_dev_profile_t *dev_profile; |