diff options
author | Ray Johnston <ray.johnston@artifex.com> | 2018-09-21 11:16:18 -0700 |
---|---|---|
committer | Ray Johnston <ray.johnston@artifex.com> | 2018-09-24 20:31:08 -0700 |
commit | 95aa78beae9489d5c9f898fe2032aa23f860867d (patch) | |
tree | 105a771c3d9128ee3e2ccdc61a0150154f4b381f /Resource/Init/gs_setpd.ps | |
parent | 863b370ba7d791720b97ae10deb211fde8bdbd0a (diff) | |
download | ghostpdl-95aa78beae9489d5c9f898fe2032aa23f860867d.tar.gz |
Catch errors in setpagesize, .setpagesize and setpagedevice and cleanup
Bug 699794 showed that attempt to change page size in SAFER mode when the
nulldevice was the currentdevice would leave 'false' on the stack. Run
.setdevice in stopped and clean up, and also clean up .setpagesize
Diffstat (limited to 'Resource/Init/gs_setpd.ps')
-rw-r--r-- | Resource/Init/gs_setpd.ps | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps index aa79b3f0b..c129f6b79 100644 --- a/Resource/Init/gs_setpd.ps +++ b/Resource/Init/gs_setpd.ps @@ -919,10 +919,15 @@ SETPDDEBUG { (Recovering.) = pstack flush } if % Stack: mark ... <merged> <failed> <device> <eraseflag> SETPDDEBUG { (Installing.) = pstack flush } if - pop + pop % .setdevice clears the current page device! .currentpagedevice pop exch - .setdevice pop + { .setdevice } stopped { + cleartomark exch pop + /setpagedevice $error /errorname get + signalerror + } if + pop .setpagedevice % Implement UseCIEColor directly if this is a LL3 system. |