From 8ae528629cbbea04ef69b6cf5102328c1b971fb1 Mon Sep 17 00:00:00 2001 From: chrox Date: Sun, 16 Jun 2013 18:59:11 +0800 Subject: [PATCH] bugfix: make a fresh copy of Geom before transforming --- frontend/ui/reader/readerview.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ui/reader/readerview.lua b/frontend/ui/reader/readerview.lua index c3d7349c3..e5593bed0 100644 --- a/frontend/ui/reader/readerview.lua +++ b/frontend/ui/reader/readerview.lua @@ -237,7 +237,7 @@ end function ReaderView:getScrollPageRect(page, rect_p) local rect_s = Geom:new{} for _, state in ipairs(self.page_states) do - local trans_p = Geom:new(rect_p) + local trans_p = Geom:new(rect_p):copy() trans_p:transformByScale(state.zoom, state.zoom) if page == state.page and state.visible_area:contains(trans_p) then rect_s.x = rect_s.x + state.offset.x + trans_p.x - state.visible_area.x @@ -287,7 +287,7 @@ end function ReaderView:getSinglePageRect(rect_p) local rect_s = Geom:new{} - local trans_p = Geom:new(rect_p) + local trans_p = Geom:new(rect_p):copy() trans_p:transformByScale(self.state.zoom, self.state.zoom) if self.visible_area:contains(trans_p) then rect_s.x = self.state.offset.x + trans_p.x - self.visible_area.x