From a2ee9c141864426708950c047d478ef7b9f0103c Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Thu, 7 Jul 2016 16:32:47 +0200 Subject: Slim pdf_xobject: remove cached document field. --- source/pdf/pdf-op-run.c | 5 ++++- source/pdf/pdf-xobject.c | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c index 02005b57..e74d08f4 100644 --- a/source/pdf/pdf-op-run.c +++ b/source/pdf/pdf-op-run.c @@ -1223,6 +1223,7 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf fz_rect xobj_bbox; fz_matrix xobj_matrix; int transparency; + pdf_document *doc; /* Avoid infinite recursion */ if (xobj == NULL || pdf_mark_obj(ctx, xobj->obj)) @@ -1299,7 +1300,9 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf if (!resources) resources = page_resources; - pdf_process_contents(ctx, (pdf_processor*)pr, xobj->document, resources, xobj->obj, NULL); + doc = pdf_get_bound_document(ctx, xobj->obj); + + pdf_process_contents(ctx, (pdf_processor*)pr, doc, resources, xobj->obj, NULL); } fz_always(ctx) { diff --git a/source/pdf/pdf-xobject.c b/source/pdf/pdf-xobject.c index 7eb4552f..e38be70e 100644 --- a/source/pdf/pdf-xobject.c +++ b/source/pdf/pdf-xobject.c @@ -87,7 +87,6 @@ pdf_load_xobject(fz_context *ctx, pdf_document *doc, pdf_obj *dict) form = fz_malloc_struct(ctx, pdf_xobject); FZ_INIT_STORABLE(form, 1, pdf_drop_xobject_imp); - form->document = doc; form->colorspace = NULL; form->obj = NULL; form->iteration = 0; @@ -164,7 +163,6 @@ pdf_new_xobject(fz_context *ctx, pdf_document *doc, const fz_rect *bbox, const f form = fz_malloc_struct(ctx, pdf_xobject); FZ_INIT_STORABLE(form, 1, pdf_drop_xobject_imp); - form->document = doc; form->colorspace = NULL; form->obj = NULL; form->iteration = 0; -- cgit v1.2.3