fix: kill in fly hinting event on document close

pull/1825/head
Qingping Hou 8 years ago
parent df6935c20b
commit b63ddb8736

@ -77,6 +77,9 @@ function ReaderView:init()
self.ui:registerPostInitCallback(function()
self.ui.menu:registerToMainMenu(self.footer)
end)
self.emitHintPageEvent = function()
self.ui:handleEvent(Event:new("HintPage", self.hinting))
end
end
function ReaderView:resetDimArea()
@ -273,9 +276,7 @@ function ReaderView:drawScrollPages(bb, x, y)
pos.y = pos.y + self.page_gap.height
end
end
UIManager:scheduleIn(0, function()
self.ui:handleEvent(Event:new("HintPage", self.hinting))
end)
UIManager:nextTick(self.emitHintPageEvent)
end
function ReaderView:getCurrentPageList()
@ -347,9 +348,7 @@ function ReaderView:drawSinglePage(bb, x, y)
self.state.rotation,
self.state.gamma,
self.render_mode)
UIManager:scheduleIn(0, function()
self.ui:handleEvent(Event:new("HintPage", self.hinting))
end)
UIManager:nextTick(self.emitHintPageEvent)
end
function ReaderView:getSinglePagePosition(pos)
@ -748,4 +747,10 @@ function ReaderView:genOverlapStyleMenu()
}
end
function ReaderView:onCloseDocument()
self.hinting = false
-- stop any in fly HintPage event
UIManager:unschedule(self.emitHintPageEvent)
end
return ReaderView

@ -488,7 +488,9 @@ function ReaderUI:onClose()
UIManager:close(self.dialog, "full")
-- serialize last used items for later launch
Cache:serialize()
running_instance = nil
if running_instance == self then
running_instance = nil
end
return true
end

@ -198,6 +198,10 @@ function UIManager:scheduleIn(seconds, action)
self:schedule(when, action)
end
function UIManager:nextTick(action)
return self:scheduleIn(0, action)
end
-- unschedule an execution task
-- in order to unschedule anonymous functions, store a reference
-- for example:

Loading…
Cancel
Save