diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2018-06-26 14:52:22 -0700 |
---|---|---|
committer | Michael Vrhel <michael.vrhel@artifex.com> | 2018-06-27 10:14:29 -0700 |
commit | 250b5e83e923bed9b6d48bf3965f3b38af52286d (patch) | |
tree | 2c484c47ea50b3ef822397c88fe399676b3e4c1e /devices/gdevpsd.c | |
parent | e4a7fc24c051241e4dbd14760a218290769d78a6 (diff) | |
download | ghostpdl-250b5e83e923bed9b6d48bf3965f3b38af52286d.tar.gz |
Fix errors introduced in previous commit
The commit f2cf68297e3d63cb927db3c98d317f7ee68e7898
resulted in errors with the separation type devices.
With these devices, we can simply check if the color
model matches the ICC profile since these devices
change their number of components. Will likely need
to do some testing with these device and different
profiles to see what breaks when and make sure we
exit gracefully.
Diffstat (limited to 'devices/gdevpsd.c')
-rw-r--r-- | devices/gdevpsd.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/devices/gdevpsd.c b/devices/gdevpsd.c index 8f871021d..05584d2f9 100644 --- a/devices/gdevpsd.c +++ b/devices/gdevpsd.c @@ -36,6 +36,7 @@ #include "gxdownscale.h" #include "gdevdevnprn.h" #include "gdevpsd.h" +#include "gxdevsop.h" #ifndef cmm_gcmmhlink_DEFINED #define cmm_gcmmhlink_DEFINED @@ -135,6 +136,15 @@ static RELOC_PTRS_WITH(psd_device_reloc_ptrs, psd_device *pdev) } RELOC_PTRS_END +static int +psd_spec_op(gx_device *dev_, int op, void *data, int datasize) +{ + if (op == gxdso_supports_devn) { + return true; + } + return gx_default_dev_spec_op(dev_, op, data, datasize); +} + /* Even though psd_device_finalize is the same as gx_devn_prn_device_finalize, * we need to implement it separately because st_composite_final * declares all 3 procedures as private. */ @@ -213,7 +223,12 @@ gs_private_st_composite_final(st_psd_device, psd_device, NULL, /* fill_linear_color_trapezoid */\ NULL, /* fill_linear_color_triangle */\ gx_devn_prn_update_spot_equivalent_colors, /* update_spot_equivalent_colors */\ - gx_devn_prn_ret_devn_params /* ret_devn_params */\ + gx_devn_prn_ret_devn_params, /* ret_devn_params */\ + NULL, /* fillpage */\ + NULL, /* push_transparency_state */\ + NULL, /* pop_transparency_state */\ + NULL, /* put_image */\ + psd_spec_op /* dev_spec_op */\ } static fixed_colorant_name DeviceGrayComponents[] = { |