summaryrefslogtreecommitdiff
path: root/devices/gdevpsd.c
diff options
context:
space:
mode:
authorMichael Vrhel <michael.vrhel@artifex.com>2018-06-26 14:52:22 -0700
committerMichael Vrhel <michael.vrhel@artifex.com>2018-06-27 10:14:29 -0700
commit250b5e83e923bed9b6d48bf3965f3b38af52286d (patch)
tree2c484c47ea50b3ef822397c88fe399676b3e4c1e /devices/gdevpsd.c
parente4a7fc24c051241e4dbd14760a218290769d78a6 (diff)
downloadghostpdl-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.c17
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[] = {