From 301892f4b66f6a4d1036e0c18a41f5b6bc198d91 Mon Sep 17 00:00:00 2001 From: poire-z Date: Thu, 5 Oct 2017 17:12:49 +0200 Subject: [PATCH] [fix] Avoid multiple refreshes when opening credocuments (#3300) Only noticeable on Kindle (which uses REAGL as partial refresh). --- frontend/apps/reader/modules/readerrolling.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/frontend/apps/reader/modules/readerrolling.lua b/frontend/apps/reader/modules/readerrolling.lua index 8dbcfef45..9578dc256 100644 --- a/frontend/apps/reader/modules/readerrolling.lua +++ b/frontend/apps/reader/modules/readerrolling.lua @@ -97,6 +97,9 @@ function ReaderRolling:init() self.ui.document:_readMetadata() self.old_page = self.ui.document.info.number_of_pages end) + table.insert(self.ui.postReaderCallback, function() + self:updatePos() + end) self.ui.menu:registerToMainMenu(self) end @@ -466,6 +469,12 @@ end Note that xpointer should not be changed. --]] function ReaderRolling:onUpdatePos() + if self.ui.postReaderCallback ~= nil then -- ReaderUI:init() not yet done + -- Don't schedule any updatePos as long as ReaderUI:init() is + -- not finished (one will be called in the ui.postReaderCallback + -- we have set above) to avoid multiple refreshes. + return true + end UIManager:scheduleIn(0.1, function () self:updatePos() end) return true end