diff options
author | Alex Cherepanov <alex.cherepanov@artifex.com> | 2012-02-24 20:45:31 -0500 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2012-03-15 11:54:23 +0000 |
commit | e7022ec2a4088e7689bac2da66abf1427e926ca9 (patch) | |
tree | f0544e81d099b24225dcc00e78e2ef1d265e2c01 | |
parent | 902c99cc0c9032bf269c60da048542adfdb9be66 (diff) | |
download | ghostpdl-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.ps | 8 |
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 |