diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2011-04-04 03:14:01 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2011-04-04 03:14:01 +0200 |
commit | e77893b29cf53a9d6933cab0f9ae9e78b30a6592 (patch) | |
tree | 15c408285944a065b3bb9a69f09506caf3b71fcf /fitz | |
parent | 2522bc48349b23f5a22df7831171e73633f332f4 (diff) | |
download | mupdf-e77893b29cf53a9d6933cab0f9ae9e78b30a6592.tar.xz |
draw: Fix bug in display list culling.
The node bbox was not transformed to device space before the
visibility test.
Diffstat (limited to 'fitz')
-rw-r--r-- | fitz/dev_list.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fitz/dev_list.c b/fitz/dev_list.c index d90f64c2..bfa4ddf1 100644 --- a/fitz/dev_list.c +++ b/fitz/dev_list.c @@ -362,9 +362,10 @@ fz_executedisplaylist(fz_displaylist *list, fz_device *dev, fz_matrix topctm, fz for (node = list->first; node; node = node->next) { fz_matrix ctm = fz_concat(node->ctm, topctm); + fz_rect rect = fz_transformrect(topctm, node->rect); /* cull objects to draw using a quick visibility test */ - if (clipped || fz_isemptybbox(fz_intersectbbox(fz_roundrect(node->rect), bounds))) + if (clipped || fz_isemptybbox(fz_intersectbbox(fz_roundrect(rect), bounds))) { switch (node->cmd) { |