summaryrefslogtreecommitdiff
path: root/mupdf/build.c
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2004-12-08 15:06:07 +0100
committerTor Andersson <tor@ghostscript.com>2004-12-08 15:06:07 +0100
commit5537c50d225b8521a043859f9de4057d271cac97 (patch)
treea3bf8962f522f3e398dcd99eb3452e913127bbce /mupdf/build.c
parent576f0af8fbeb49f6e813d06379ed8b0db07ea271 (diff)
downloadmupdf-5537c50d225b8521a043859f9de4057d271cac97.tar.xz
seek/tell for openbuffer. path clip cloned too early.
Diffstat (limited to 'mupdf/build.c')
-rw-r--r--mupdf/build.c17
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;