diff options
author | Tor Andersson <tor@ghostscript.com> | 2004-12-08 15:06:07 +0100 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2004-12-08 15:06:07 +0100 |
commit | 5537c50d225b8521a043859f9de4057d271cac97 (patch) | |
tree | a3bf8962f522f3e398dcd99eb3452e913127bbce /mupdf/build.c | |
parent | 576f0af8fbeb49f6e813d06379ed8b0db07ea271 (diff) | |
download | mupdf-5537c50d225b8521a043859f9de4057d271cac97.tar.xz |
seek/tell for openbuffer. path clip cloned too early.
Diffstat (limited to 'mupdf/build.c')
-rw-r--r-- | mupdf/build.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/mupdf/build.c b/mupdf/build.c index cd949a15..93d1a26d 100644 --- a/mupdf/build.c +++ b/mupdf/build.c @@ -580,16 +580,21 @@ pdf_showpath(pdf_csi *csi, if (error) return error; } - if (!dofill && !dostroke) + if (csi->clip) { - fz_free(csi->path); + fz_pathnode *clip; + error = fz_clonepathnode(&clip, csi->path); + if (error) return error; + error = fz_endpath(clip, FZ_FILL, nil, nil); + if (error) return error; + error = pdf_addclipmask(gstate, (fz_node*)clip); + if (error) return error; + csi->clip = 0; } - if (csi->clip) + if (!dofill && !dostroke) { - error = pdf_addclipmask(gstate, (fz_node*)csi->clip); - if (error) return error; - csi->clip = nil; + fz_dropnode((fz_node*)csi->path); } csi->path = nil; |