summaryrefslogtreecommitdiff
path: root/source/fitz
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2013-10-15 10:50:24 +0100
committerRobin Watts <robin.watts@artifex.com>2013-10-16 15:45:35 +0100
commite42e6e8b4d38f6ea84426ac2297fb7cd1143d226 (patch)
tree0d7c215c74132e08c259933c4e589e267edf55d7 /source/fitz
parent636d2f27a9a2f4ed855d6d73a8fe497e1cf184fa (diff)
downloadmupdf-e42e6e8b4d38f6ea84426ac2297fb7cd1143d226.tar.xz
Fix null device clip stack scissor handling.
Was failing to correctly initialise scissors when extending the stack. This caused the fill text to disappear in fts_15_109.pdf
Diffstat (limited to 'source/fitz')
-rw-r--r--source/fitz/device.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/fitz/device.c b/source/fitz/device.c
index 79f2f42a..fa428764 100644
--- a/source/fitz/device.c
+++ b/source/fitz/device.c
@@ -86,6 +86,10 @@ push_clip_stack_accumulate(fz_device *dev, const fz_rect *rect, int accumulate)
dev->container = fz_resize_array(dev->ctx, dev->container, newmax, sizeof(*dev->container));
dev->container_cap = newmax;
}
+ if (dev->container_len > 0)
+ dev->container[dev->container_len].scissor = dev->container[dev->container_len-1].scissor;
+ else
+ dev->container[dev->container_len].scissor = fz_infinite_rect;
fz_intersect_rect(&dev->container[dev->container_len].scissor, rect);
dev->container[dev->container_len].flags = fz_device_container_stack_is_clip_text;
dev->container[dev->container_len].user = 0;