summaryrefslogtreecommitdiff
path: root/gs/psi
diff options
context:
space:
mode:
authorChris Liddell <chris.liddell@artifex.com>2015-03-18 08:37:15 +0000
committerChris Liddell <chris.liddell@artifex.com>2015-03-18 08:37:15 +0000
commit3c4edb1e23eec531b96194f85685b30656149732 (patch)
treebb97faefe0ce243a4d4d37b79074bd0e09105e08 /gs/psi
parent2ceee5a8a0e1a4d65f14de5f6cf53bb939b2f02c (diff)
downloadghostpdl-3c4edb1e23eec531b96194f85685b30656149732.tar.gz
Bug 695860: only shutdown BGPrint if it's active
Always forcing a setpagedevice interacts poorly with pdfwrite/ps2write (which rely on the device shutting down to trigger emitting the final output). Since vector devices cannot benefit from BGPrint, only disable BGPrint (with setpagedevice) if BGPrint was active in the first place. No cluster differences.
Diffstat (limited to 'gs/psi')
-rw-r--r--gs/psi/imain.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gs/psi/imain.c b/gs/psi/imain.c
index 7a888ec61..ad7067d10 100644
--- a/gs/psi/imain.c
+++ b/gs/psi/imain.c
@@ -883,8 +883,9 @@ gs_main_finit(gs_main_instance * minst, int exit_status, int code)
if (minst->init_done >= 1) {
gs_main_run_string(minst,
"/systemdict .systemexec /begin .systemexec \
- <</BeginPage {pop} /EndPage {pop pop //false } \
- /BGPrint false /NumRenderingThreads 0>> setpagedevice \
+ /BGPrint /GetDeviceParam .special_op \
+ {{ <</BeginPage {pop} /EndPage {pop pop //false } \
+ /BGPrint false /NumRenderingThreads 0>> setpagedevice} if} if \
serverdict /.jobsavelevel get 0 eq {/quit} {/stop} ifelse end \
.systemvar exec",
0 , &exit_code, &error_object);