mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Prevent crash on exit in scroll mode (#3171)
This commit is contained in:
@@ -140,11 +140,22 @@ function ReaderRolling:onReadSettings(config)
|
||||
self.inverse_reading_order = config:readSetting("inverse_reading_order") or false
|
||||
end
|
||||
|
||||
-- in scroll mode percent_finished must be save before close document
|
||||
-- we cannot do it in onSaveSettings() because getLastPercent() uses self.ui.document
|
||||
function ReaderRolling:onCloseDocument()
|
||||
self.ui.doc_settings:saveSetting("percent_finished", self:getLastPercent())
|
||||
end
|
||||
|
||||
function ReaderRolling:onSaveSettings()
|
||||
-- remove last_percent config since its deprecated
|
||||
self.ui.doc_settings:saveSetting("last_percent", nil)
|
||||
self.ui.doc_settings:saveSetting("last_xpointer", self.xpointer)
|
||||
self.ui.doc_settings:saveSetting("percent_finished", self:getLastPercent())
|
||||
-- in scrolling mode, the document may already be closed,
|
||||
-- so we have to check the condition to avoid crash function self:getLastPercent()
|
||||
-- that uses self.ui.document
|
||||
if self.ui.document then
|
||||
self.ui.doc_settings:saveSetting("percent_finished", self:getLastPercent())
|
||||
end
|
||||
self.ui.doc_settings:saveSetting("show_overlap_enable", self.show_overlap_enable)
|
||||
self.ui.doc_settings:saveSetting("inverse_reading_order", self.inverse_reading_order)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user