diff options
author | Robin Watts <robin.watts@artifex.com> | 2013-10-15 10:50:24 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2013-10-16 15:45:35 +0100 |
commit | e42e6e8b4d38f6ea84426ac2297fb7cd1143d226 (patch) | |
tree | 0d7c215c74132e08c259933c4e589e267edf55d7 | |
parent | 636d2f27a9a2f4ed855d6d73a8fe497e1cf184fa (diff) | |
download | mupdf-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
-rw-r--r-- | source/fitz/device.c | 4 |
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; |