diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2014-09-17 12:23:05 +0100 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2014-09-17 12:26:35 +0100 |
commit | 404e71e01ad665deb7435fe37aad6034380297e3 (patch) | |
tree | f71eb6180cac1b0cb5ece6ef9ce0dcf410eeb611 | |
parent | 96a55a20f5b0d852d2118a1ac318293c6a0f716e (diff) | |
download | ghostpdl-404e71e01ad665deb7435fe37aad6034380297e3.tar.gz |
Bug 695492: fix seg fault regression with '-h'
When called with the '-h' parameter, we don't fully initialise the PS
interpreter. In which case, we shouldn't try to use the PS interpreter
when we shut down.
No cluster differences.
-rw-r--r-- | gs/psi/imain.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gs/psi/imain.c b/gs/psi/imain.c index b1cc5e2b4..7a888ec61 100644 --- a/gs/psi/imain.c +++ b/gs/psi/imain.c @@ -880,13 +880,15 @@ gs_main_finit(gs_main_instance * minst, int exit_status, int code) * We also have to mess with the BeginPage/EndPage procs so that we don't * trigger a spurious extra page to be emitted. */ - gs_main_run_string(minst, - "/systemdict .systemexec /begin .systemexec \ - <</BeginPage {pop} /EndPage {pop pop //false } \ - /BGPrint false /NumRenderingThreads 0>> setpagedevice \ - serverdict /.jobsavelevel get 0 eq {/quit} {/stop} ifelse end \ - .systemvar exec", - 0 , &exit_code, &error_object); + 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 \ + serverdict /.jobsavelevel get 0 eq {/quit} {/stop} ifelse end \ + .systemvar exec", + 0 , &exit_code, &error_object); + } #endif /* |