From ffd438de18bdbc4c2ac9c9212c8f840c94784591 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Tue, 22 Dec 2015 22:35:46 -0800 Subject: [PATCH 1/2] fix(ReaderFooter:getDataFromStatistics): return na if book has no stats history --- frontend/apps/reader/modules/readerfooter.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/apps/reader/modules/readerfooter.lua b/frontend/apps/reader/modules/readerfooter.lua index 7fc2e9a8a..44645222d 100644 --- a/frontend/apps/reader/modules/readerfooter.lua +++ b/frontend/apps/reader/modules/readerfooter.lua @@ -242,11 +242,13 @@ end function ReaderFooter:getDataFromStatistics(title, pages) local statistics_data = self.ui.doc_settings:readSetting("stats") + local sec = 'na' if statistics_data and statistics_data.performance_in_pages then local read_pages = util.tablelength(statistics_data.performance_in_pages) local average_time_per_page = statistics_data.total_time_in_sec / read_pages - return title .. util.secondsToClock(pages * average_time_per_page, true) + sec = util.secondsToClock(pages * average_time_per_page, true) end + return title .. sec end From 41240464ca6afd73b40a5c5a123f73fb3be8e47a Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Wed, 23 Dec 2015 00:01:43 -0800 Subject: [PATCH 2/2] minor: fail loudly with stack trace when doShowReader crashed --- frontend/apps/reader/readerui.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/apps/reader/readerui.lua b/frontend/apps/reader/readerui.lua index 659917b3b..4693adce7 100644 --- a/frontend/apps/reader/readerui.lua +++ b/frontend/apps/reader/readerui.lua @@ -327,7 +327,12 @@ function ReaderUI:showReader(file) local co = coroutine.create(function() self:doShowReader(file) end) - coroutine.resume(co) + local ok, err = coroutine.resume(co) + if err ~= nil then + print '[!] doShowReader coroutine crashed:' + print(debug.traceback(co, err, 1)) + UIManager._running = false + end end) end