summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2009-12-03 23:54:38 +0100
committerTor Andersson <tor@ghostscript.com>2009-12-03 23:54:38 +0100
commita47691a99cee0e048f5c27866f576e21ca10603b (patch)
tree09306af2ffce6a821a6694898e856c141c774b83
parentf551d03ee0951ee55709fd8b43af04c2214ea919 (diff)
downloadmupdf-a47691a99cee0e048f5c27866f576e21ca10603b.tar.xz
Completely ignore blend nodes instead of inserting superfluous over nodes that cause stack overflows on windows.
-rw-r--r--mupdf/pdf_interpret.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/mupdf/pdf_interpret.c b/mupdf/pdf_interpret.c
index a1405dbc..4a9bf32c 100644
--- a/mupdf/pdf_interpret.c
+++ b/mupdf/pdf_interpret.c
@@ -199,12 +199,6 @@ runxobject(pdf_csi *csi, pdf_xref *xref, fz_obj *rdb, pdf_xobject *xobj)
if (xobj->isolated || xobj->knockout)
{
- /* The xobject's contents ought to be blended properly,
- but for now, just do over and hope for something
-
- error = fz_newblendnode(&blend, gstate->blendmode,
- xobj->isolated, xobj->knockout);
- */
if (gstate->blendmode != FZ_BNORMAL)
fz_warn("ignoring non-normal blendmode (%d)", gstate->blendmode);
if (xobj->isolated && xobj->knockout)
@@ -213,11 +207,15 @@ runxobject(pdf_csi *csi, pdf_xref *xref, fz_obj *rdb, pdf_xobject *xobj)
fz_warn("ignoring that the group is isolated");
else if (xobj->knockout)
fz_warn("ignoring that the group is knockout");
+ /* The xobject's contents ought to be blended properly, but for now do nothing
+ error = fz_newblendnode(&blend, gstate->blendmode,
+ xobj->isolated, xobj->knockout);
error = fz_newovernode(&blend);
if (error)
return fz_rethrow(error, "cannot create blend node");
fz_insertnodelast(gstate->head, blend);
gstate->head = blend;
+ */
}
/* clip to the bounds */
@@ -396,16 +394,14 @@ runextgstate(pdf_gstate *gstate, pdf_xref *xref, fz_obj *rdb, fz_obj *extgstate)
}
}
- /* The content stream ought to be blended properly,
- but for now, just do over and hope for something
-
+ /* The content stream ought to be blended properly, but for now do nothing.
error = fz_newblendnode(&blend, gstate->blendmode, 0, 0);
- */
error = fz_newovernode(&blend);
if (error)
return fz_rethrow(error, "cannot create blend node");
fz_insertnodelast(gstate->head, blend);
gstate->head = blend;
+ */
}
else if (!strcmp(s, "SMask"))