From 466541b3228d2c0bd8cece1b3cd6c393c39d5686 Mon Sep 17 00:00:00 2001 From: chrox Date: Sat, 18 Jan 2014 03:41:21 +0800 Subject: [PATCH 1/2] fix nil page state when saving settings in ReaderPaging This should fix #457. --- frontend/ui/reader/readerpaging.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ui/reader/readerpaging.lua b/frontend/ui/reader/readerpaging.lua index 900867f36..cae9619d2 100644 --- a/frontend/ui/reader/readerpaging.lua +++ b/frontend/ui/reader/readerpaging.lua @@ -140,7 +140,7 @@ end function ReaderPaging:onSaveSettings() self.ui.doc_settings:saveSetting("page_positions", self.page_positions) - self.ui.doc_settings:saveSetting("last_page", self:getTopPage()) + self.ui.doc_settings:saveSetting("last_page", self:getTopPage() or self.current_page) self.ui.doc_settings:saveSetting("percent_finished", self.current_page/self.number_of_pages) self.ui.doc_settings:saveSetting("show_overlap_enable", self.show_overlap_enable) end @@ -410,7 +410,7 @@ Get page number of the page drawn at the very top part of the screen. function ReaderPaging:getTopPage() if self.view.page_scroll then local state = self.view.page_states[1] - return state.page + if state then return state.page end else return self.current_page end From ec3c9ba2bcba62655ce03bbd8274d185f45b4212 Mon Sep 17 00:00:00 2001 From: chrox Date: Sat, 18 Jan 2014 03:55:11 +0800 Subject: [PATCH 2/2] return current page if top page state is nil in some corner cases --- frontend/ui/reader/readerpaging.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/ui/reader/readerpaging.lua b/frontend/ui/reader/readerpaging.lua index cae9619d2..6eeef86e1 100644 --- a/frontend/ui/reader/readerpaging.lua +++ b/frontend/ui/reader/readerpaging.lua @@ -140,7 +140,7 @@ end function ReaderPaging:onSaveSettings() self.ui.doc_settings:saveSetting("page_positions", self.page_positions) - self.ui.doc_settings:saveSetting("last_page", self:getTopPage() or self.current_page) + self.ui.doc_settings:saveSetting("last_page", self:getTopPage()) self.ui.doc_settings:saveSetting("percent_finished", self.current_page/self.number_of_pages) self.ui.doc_settings:saveSetting("show_overlap_enable", self.show_overlap_enable) end @@ -410,7 +410,7 @@ Get page number of the page drawn at the very top part of the screen. function ReaderPaging:getTopPage() if self.view.page_scroll then local state = self.view.page_states[1] - if state then return state.page end + return state and state.page or self.current_page else return self.current_page end