summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/pdf/pdf-op-run.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c
index 56c84cd9..12797b8e 100644
--- a/source/pdf/pdf-op-run.c
+++ b/source/pdf/pdf-op-run.c
@@ -1250,6 +1250,8 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
if (transparency)
{
fz_rect bbox;
+ int isolated = pdf_xobject_isolated(ctx, xobj);
+
bbox = xobj_bbox;
fz_transform_rect(&bbox, &gstate->ctm);
@@ -1262,8 +1264,8 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf
* if it throws an error, we must call fz_end_group. */
cleanup_state = 2;
fz_begin_group(ctx, pr->dev, &bbox,
- pdf_xobject_colorspace(ctx, xobj),
- (is_smask ? 1 : pdf_xobject_isolated(ctx, xobj)),
+ (isolated ? pdf_xobject_colorspace(ctx, xobj) : NULL),
+ (is_smask ? 1 : isolated),
pdf_xobject_knockout(ctx, xobj),
gstate->blendmode, gstate->fill.alpha);