summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/fitz/draw-device.c2
-rw-r--r--source/tools/mudraw.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/source/fitz/draw-device.c b/source/fitz/draw-device.c
index 260ca59e..836fc4df 100644
--- a/source/fitz/draw-device.c
+++ b/source/fitz/draw-device.c
@@ -536,7 +536,7 @@ push_group_for_separations(fz_context *ctx, fz_draw_device *dev, const fz_color_
}
/* Not needed */
- if (clone == NULL && dev->proof_cs == NULL)
+ if (clone == NULL && dev->proof_cs == NULL && fz_colorspace_n(ctx, dev->stack[0].dest->colorspace) == 4)
{
dev->resolve_spots = 0;
return &dev->stack[0];
diff --git a/source/tools/mudraw.c b/source/tools/mudraw.c
index 6382e95c..d3cef7a2 100644
--- a/source/tools/mudraw.c
+++ b/source/tools/mudraw.c
@@ -1042,6 +1042,13 @@ static void drawpage(fz_context *ctx, fz_document *doc, int pagenum)
for (i = 0; i < n; i++)
fz_set_separation_behavior(ctx, seps, i, FZ_SEPARATION_COMPOSITE);
}
+ else
+ {
+ /* If we are doing spot rendering (or overprint simulation)
+ * then we need (at least) an empty sep object to force the
+ * overprint simulation in the draw device. */
+ seps = fz_new_separations(ctx, 0);
+ }
}
fz_catch(ctx)
{