summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vrhel <michael.vrhel@artifex.com>2015-03-06 13:28:51 -0800
committerMichael Vrhel <michael.vrhel@artifex.com>2015-03-06 13:28:51 -0800
commitb5b03bde360a7ba625a4c40a936c4e2fd5a32359 (patch)
tree4ce429bf97763e4851ad131ae92d214e1c7cfec2
parentc75e5c690c6f9c1da2e9225d4986967d1d391c8b (diff)
PageSpotColors was getting handled by devn_get_params but not devn_put_params
For additive devices devn_put_params was not handling PageSpotColors but devn_get_params was. This mismatch would lead to an error for the psdrgb device, which is an additive device built upon the DeviceN device. Additive devices do not handle apot colors at this time so the fix was to make the handling of PageSpotColors in devn_get_params dependent upon the device polarity like devn_put_params does.
-rw-r--r--gs/base/gdevdevn.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gs/base/gdevdevn.c b/gs/base/gdevdevn.c
index de93faae8..15292df69 100644
--- a/gs/base/gdevdevn.c
+++ b/gs/base/gdevdevn.c
@@ -334,8 +334,11 @@ devn_get_params(gx_device * pdev, gs_param_list * plist,
if ( (code = sample_device_crd_get_params(pdev, plist, "CRDDefault")) < 0 ||
(code = param_write_name_array(plist, "SeparationColorNames", &scna)) < 0 ||
(code = param_write_name_array(plist, "SeparationOrder", &sona)) < 0 ||
- (code = param_write_bool(plist, "Separations", &seprs)) < 0 ||
- (code = param_write_int(plist, "PageSpotColors", &(pdevn_params->page_spot_colors))) < 0)
+ (code = param_write_bool(plist, "Separations", &seprs)) < 0)
+ return code;
+
+ if (pdev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE &&
+ (code = param_write_int(plist, "PageSpotColors", &(pdevn_params->page_spot_colors))) < 0)
return code;
if (pdevn_params->separations.num_separations > 0)