diff options
-rw-r--r-- | Resource/Init/gs_setpd.ps | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps index bba3c8c0e..aee96149e 100644 --- a/Resource/Init/gs_setpd.ps +++ b/Resource/Init/gs_setpd.ps | |||
@@ -95,12 +95,19 @@ level2dict begin | |||
95 | { % Since setpagedevice doesn't create new device objects, | 95 | { % Since setpagedevice doesn't create new device objects, |
96 | % we must (carefully) reinstall the old parameters in | 96 | % we must (carefully) reinstall the old parameters in |
97 | % the same device. | 97 | % the same device. |
98 | .currentpagedevice pop //null currentdevice //null .trysetparams | 98 | .currentpagedevice pop //null currentdevice //null |
99 | {.trysetparams} .internalstopped | ||
100 | { | ||
101 | //null | ||
102 | } if | ||
99 | dup type /booleantype eq | 103 | dup type /booleantype eq |
100 | { pop pop } | 104 | { pop pop } |
101 | { % This should never happen! | 105 | { |
102 | SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if | 106 | SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if |
103 | cleartomark pop pop pop | 107 | cleartomark pop pop pop |
108 | % if resetting the entire device state failed, at least put back the se | ||
109 | currentdevice //null //false mark /.LockSafetyParams .currentpagedevice pop | ||
110 | /.LockSafetyParams .knownget not {//false} if .putdeviceparamsonly | ||
104 | /.installpagedevice cvx /rangecheck signalerror | 111 | /.installpagedevice cvx /rangecheck signalerror |
105 | } | 112 | } |
106 | ifelse pop pop | 113 | ifelse pop pop |