summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/pdf/pdf-op-run.c5
-rw-r--r--source/pdf/pdf-xobject.c2
2 files changed, 4 insertions, 3 deletions
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;