From 8410ac5cb78be7e3675ad7405403ff00de34f85f Mon Sep 17 00:00:00 2001 From: HW Date: Tue, 13 Mar 2012 00:11:31 +0100 Subject: [PATCH] fix forgotten corner case when caching --- unireader.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/unireader.lua b/unireader.lua index 10f238beb..9def0d545 100644 --- a/unireader.lua +++ b/unireader.lua @@ -188,8 +188,10 @@ function UniReader:draworcache(no, preCache) -- we have something in cache, check if it contains the requested part if self.cache[pagehash].x <= (-self.offset_x) and self.cache[pagehash].y <= (-self.offset_y) - and self.cache[pagehash].x + self.cache[pagehash].w >= (-self.offset_x) + width - and self.cache[pagehash].y + self.cache[pagehash].h >= (-self.offset_y) + height + and ( self.cache[pagehash].x + self.cache[pagehash].w >= (-self.offset_x) + width + or self.cache[pagehash].w >= self.fullwidth - 1) + and ( self.cache[pagehash].y + self.cache[pagehash].h >= (-self.offset_y) + height + or self.cache[pagehash].h >= self.fullheight - 1) then -- requested part is within cached tile -- ...so properly clean page