summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Cherepanov <alex.cherepanov@artifex.com>2012-02-24 20:45:31 -0500
committerChris Liddell <chris.liddell@artifex.com>2012-03-15 11:54:23 +0000
commite7022ec2a4088e7689bac2da66abf1427e926ca9 (patch)
treef0544e81d099b24225dcc00e78e2ef1d265e2c01
parent902c99cc0c9032bf269c60da048542adfdb9be66 (diff)
downloadghostpdl-e7022ec2a4088e7689bac2da66abf1427e926ca9.tar.gz
Bug 692867: ignore PDF path operators without current point
Run l, c, v, y in a stopped context. When they fail (presumably with /nocurrentpoint), ignore the operator and continue.
-rw-r--r--gs/Resource/Init/pdf_draw.ps8
1 files changed, 4 insertions, 4 deletions
diff --git a/gs/Resource/Init/pdf_draw.ps b/gs/Resource/Init/pdf_draw.ps
index 159b6350f..6f20571a5 100644
--- a/gs/Resource/Init/pdf_draw.ps
+++ b/gs/Resource/Init/pdf_draw.ps
@@ -1073,10 +1073,10 @@ currentdict /ignore_color_op undef
drawopdict begin
% Path construction
/m { moveto } bind 0 get def
- /l { lineto } bind 0 get def
- /c { curveto } bind 0 get def
- /v { currentpoint 6 2 roll curveto } bdef
- /y { 2 copy curveto } bdef
+ /l { { lineto } stopped { pop pop } if } bdef
+ /c { { curveto } stopped { pop pop pop pop pop pop } if } bdef
+ /v { { currentpoint } stopped { pop pop pop pop } { 6 2 roll curveto } ifelse } bdef
+ /y { 2 copy { curveto } stopped { pop pop pop pop pop pop } if } bdef
/re {
4 2 roll moveto exch dup 0 rlineto 0 3 -1 roll rlineto neg 0 rlineto
closepath