diff options
author | Tor Andersson <tor@ghostscript.com> | 2009-12-03 23:54:38 +0100 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2009-12-03 23:54:38 +0100 |
commit | a47691a99cee0e048f5c27866f576e21ca10603b (patch) | |
tree | 09306af2ffce6a821a6694898e856c141c774b83 | |
parent | f551d03ee0951ee55709fd8b43af04c2214ea919 (diff) | |
download | mupdf-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.c | 16 |
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")) |