fix faked Tap event causes koreader crash

Since there is a new clear method to clear highlight selection
the faked event is not needed when closing highlight

This should fix #847.
pull/851/head
chrox 10 years ago
parent 451092905e
commit 26e8dc7065

@ -108,7 +108,7 @@ function ReaderHighlight:onSetDimensions(dimen)
end end
end end
function ReaderHighlight:onTap(arg, ges) function ReaderHighlight:clear()
if self.hold_pos then if self.hold_pos then
if self.ui.document.info.has_pages then if self.ui.document.info.has_pages then
self.view.highlight.temp[self.hold_pos.page] = nil self.view.highlight.temp[self.hold_pos.page] = nil
@ -120,10 +120,15 @@ function ReaderHighlight:onTap(arg, ges)
UIManager:setDirty(self.dialog, "partial") UIManager:setDirty(self.dialog, "partial")
return true return true
end end
if self.ui.document.info.has_pages then end
return self:onTapPageSavedHighlight(ges)
else function ReaderHighlight:onTap(arg, ges)
return self:onTapXPointerSavedHighlight(ges) if not self:clear() then
if self.ui.document.info.has_pages then
return self:onTapPageSavedHighlight(ges)
else
return self:onTapXPointerSavedHighlight(ges)
end
end end
end end
@ -448,7 +453,7 @@ end
function ReaderHighlight:onClose() function ReaderHighlight:onClose()
UIManager:close(self.highlight_dialog) UIManager:close(self.highlight_dialog)
-- clear highlighted text -- clear highlighted text
self:handleEvent(Event:new("Tap")) self:clear()
end end
return ReaderHighlight return ReaderHighlight

Loading…
Cancel
Save