summaryrefslogtreecommitdiff
path: root/base/gsdparam.c
diff options
context:
space:
mode:
authorRay Johnston <ray.johnston@artifex.com>2017-08-06 12:24:21 -0700
committerRay Johnston <ray.johnston@artifex.com>2017-08-06 21:09:09 -0700
commit478a0a862d2593199bcae599e46bdc97b525bb12 (patch)
tree71c2a8012fcec5973c8e43b6fe09785b1b87375d /base/gsdparam.c
parentd91d4273f38fb8a527ff342d360cee8aaf468896 (diff)
downloadghostpdl-478a0a862d2593199bcae599e46bdc97b525bb12.tar.gz
Bug 698334: LeadingEdge parameter problems.
Because -dLeadingEdge=# sets the value in systemdict, we need to return this parameter from gx_default_get_param and gx_default_get_params so that the systemdict value will get sent to the device (putdeviceprops). Also found that the JPEG device was using LeadingEdge, but not stripping off the "LEADINGEDGE_SET" bit. Fix by anding with LEADINGEDGE_MASK. Lastly, the cups device put_params needs to be able to accept a null parameter type as the default put_params can.
Diffstat (limited to 'base/gsdparam.c')
-rw-r--r--base/gsdparam.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/base/gsdparam.c b/base/gsdparam.c
index 159b9a277..31935f54d 100644
--- a/base/gsdparam.c
+++ b/base/gsdparam.c
@@ -243,7 +243,8 @@ int gx_default_get_param(gx_device *dev, char *Param, void *list)
if (dev->LeadingEdge & LEADINGEDGE_SET_MASK) {
int leadingedge = dev->LeadingEdge & LEADINGEDGE_MASK;
return param_write_int(plist, "LeadingEdge", &leadingedge);
- }
+ } else
+ return param_write_null(plist, "LeadingEdge");
}
if (dev->color_info.num_components > 1) {
@@ -712,7 +713,8 @@ gx_default_get_params(gx_device * dev, gs_param_list * plist)
if (dev->LeadingEdge & LEADINGEDGE_SET_MASK) {
int leadingedge = dev->LeadingEdge & LEADINGEDGE_MASK;
code = param_write_int(plist, "LeadingEdge", &leadingedge);
- }
+ } else
+ code = param_write_null(plist, "LeadingEdge");
if (code < 0)
return code;