summaryrefslogtreecommitdiff
path: root/source/fitz/draw-device.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2016-07-13 14:58:40 +0100
committerRobin Watts <robin.watts@artifex.com>2016-07-13 15:08:32 +0100
commit70afff0803eac9e398b6fb6ffa6b62c2d13aa88e (patch)
treef4608cd22da09ca7bf75ecb8754939d37524f5f5 /source/fitz/draw-device.c
parent3f361e35265e6f5f50b6f92c14d7b352a228596b (diff)
downloadmupdf-70afff0803eac9e398b6fb6ffa6b62c2d13aa88e.tar.xz
Fix knockout/mask interaction.
When we are rendering a knockout group, we set the knockout flag. Do NOT carry this forward into the renderings of any softmasks. This fixes Bug 696870 and 696872.
Diffstat (limited to 'source/fitz/draw-device.c')
-rw-r--r--source/fitz/draw-device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/fitz/draw-device.c b/source/fitz/draw-device.c
index ff746e29..3c8d79dc 100644
--- a/source/fitz/draw-device.c
+++ b/source/fitz/draw-device.c
@@ -1762,6 +1762,10 @@ fz_draw_begin_mask(fz_context *ctx, fz_device *devp, const fz_rect *rect, int lu
fz_transform_rect(&trect, &dev->transform);
fz_intersect_irect(fz_irect_from_rect(&bbox, &trect), &state->scissor);
+ /* Reset the blendmode for the mask rendering. In particular,
+ * don't carry forward knockout or isolated. */
+ state[1].blendmode = 0;
+
fz_try(ctx)
{
/* If luminosity, then we generate a mask from the greyscale value of the shapes.