diff options
author | Simon Bünzli <zeniko@gmail.com> | 2013-09-25 15:40:24 +0200 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2013-09-27 17:09:46 +0100 |
commit | 4c6b5be38d6ac65f81086843a42a186ed1df379c (patch) | |
tree | 652c8377f6add698ab33ad53b0323227b248d1d2 /source | |
parent | a4b58d62b59d95152ebe76f34f43bc110387b193 (diff) | |
download | mupdf-4c6b5be38d6ac65f81086843a42a186ed1df379c.tar.xz |
don't reset the clipping rectangle for accumulated text
FZ_CMD_CLIP_TEXT behaves quite differently whether the accumulate flag
is set or not (see fz_list_clip_text). fz_run_display_list handles this
correctly but fz_append_display_node doesn't do so yet.
Diffstat (limited to 'source')
-rw-r--r-- | source/fitz/list-device.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/fitz/list-device.c b/source/fitz/list-device.c index abe2ad8f..529e0bbf 100644 --- a/source/fitz/list-device.c +++ b/source/fitz/list-device.c @@ -115,8 +115,12 @@ fz_append_display_node(fz_display_list *list, fz_display_node *node) } list->top++; break; - case FZ_CMD_END_MASK: case FZ_CMD_CLIP_TEXT: + /* don't reset the clip rect for accumulated text */ + if (node->flag == 2) + break; + /* fallthrough */ + case FZ_CMD_END_MASK: case FZ_CMD_CLIP_STROKE_TEXT: if (list->top < STACK_SIZE) { |