From f71534e399c31f2518eedfaeea00155d26d80daf Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Fri, 3 Jun 2016 01:31:46 -0700 Subject: [PATCH] readerfooter(fix): only populate footer info after document is loaded --- frontend/apps/reader/modules/readerfooter.lua | 10 ++++++++++ frontend/apps/reader/readerui.lua | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/apps/reader/modules/readerfooter.lua b/frontend/apps/reader/modules/readerfooter.lua index b707a661d..d5fdd2638 100644 --- a/frontend/apps/reader/modules/readerfooter.lua +++ b/frontend/apps/reader/modules/readerfooter.lua @@ -314,7 +314,13 @@ function ReaderFooter:updateFooterPos() self:updateFooterText() end +-- updateFooterText will start as a noop. After onReaderReady event is +-- received, it will initialized as _updateFooterText function ReaderFooter:updateFooterText() +end + +-- only call this function after document is fully loaded +function ReaderFooter:_updateFooterText() if self.settings.toc_markers and self.progress_bar.ticks == nil then local ticks_candidates = {} if self.ui.toc then @@ -410,6 +416,10 @@ function ReaderFooter:onUpdatePos() self:updateFooter() end +function ReaderFooter:onReaderReady() + self.updateFooterText = self._updateFooterText + self:updateFooter() +end function ReaderFooter:applyFooterMode(mode) -- three modes switcher for reader footer diff --git a/frontend/apps/reader/readerui.lua b/frontend/apps/reader/readerui.lua index 16eb91313..a35568920 100644 --- a/frontend/apps/reader/readerui.lua +++ b/frontend/apps/reader/readerui.lua @@ -321,7 +321,7 @@ function ReaderUI:init() v() end - -- After initialisation notify that document is loaded + -- After initialisation notify that document is loaded and rendered -- CREngine only reports correct page count after rendering is done -- Need the same event for PDF document self:handleEvent(Event:new("ReaderReady", self.doc_settings))