diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2015-03-06 13:28:51 -0800 |
---|---|---|
committer | Michael Vrhel <michael.vrhel@artifex.com> | 2015-03-06 13:28:51 -0800 |
commit | b5b03bde360a7ba625a4c40a936c4e2fd5a32359 (patch) | |
tree | 4ce429bf97763e4851ad131ae92d214e1c7cfec2 | |
parent | c75e5c690c6f9c1da2e9225d4986967d1d391c8b (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.c | 7 |
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) |