From bdebe9041241e67880d75e3878648b4253a91914 Mon Sep 17 00:00:00 2001 From: chrox Date: Tue, 28 Oct 2014 18:09:22 +0800 Subject: [PATCH] keep only one readerui instance running --- frontend/apps/reader/readerui.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/apps/reader/readerui.lua b/frontend/apps/reader/readerui.lua index 38e14ff0d..6426dc221 100644 --- a/frontend/apps/reader/readerui.lua +++ b/frontend/apps/reader/readerui.lua @@ -316,8 +316,13 @@ function ReaderUI:showReader(file) UIManager:scheduleIn(0.1, function() self:doShowReader(file) end) end +local running_instance = nil function ReaderUI:doShowReader(file) DEBUG("opening file", file) + -- keep only one instance running + if running_instance then + running_instance:onClose() + end local document = DocumentRegistry:openDocument(file) if not document then UIManager:show(InfoMessage:new{ @@ -332,6 +337,7 @@ function ReaderUI:doShowReader(file) document = document, } UIManager:show(reader) + running_instance = reader end function ReaderUI:onSetDimensions(dimen) @@ -383,6 +389,7 @@ function ReaderUI:onClose() UIManager:close(self.dialog) -- serialize last used items for later launch Cache:serialize() + running_instance = nil return true end