mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
ReaderUI: Properly neuter gesture handling from InputContainer modules
None[1] of them actually rely on their own onGesture handler, they all register their own stuff to ReaderUI's. Hotfix #9710 revealed that the way this was handled didn't exactly work as expected ;). The only thing that consumes ges_events is InputContainer's onGesture method. All these modules *extend* InputContainer, but none of them *implement* a custom onGesture, so self.onGesture = nil was just a NOP, they always access InputContainer's method via inheritance. If we actively want to neuter it, we *have* to implement it in that module (with a NOP). [1] The exception being ReaderZooming, but that only when in flip mode.
This commit is contained in:
@@ -118,16 +118,18 @@ function ReaderPaging:init()
|
||||
end
|
||||
self.pan_interval = time.s(1 / self.pan_rate)
|
||||
self.number_of_pages = self.ui.document.info.number_of_pages
|
||||
|
||||
-- delegate gesture listener to readerui, NOP our own
|
||||
self.ges_events = nil
|
||||
end
|
||||
|
||||
function ReaderPaging:onGesture() end
|
||||
|
||||
function ReaderPaging:onReaderReady()
|
||||
self:setupTouchZones()
|
||||
end
|
||||
|
||||
function ReaderPaging:setupTouchZones()
|
||||
-- delegate gesture listener to readerui
|
||||
self.ges_events = {}
|
||||
self.onGesture = nil
|
||||
if not Device:isTouchDevice() then return end
|
||||
|
||||
local forward_zone, backward_zone = self.view:getTapZones()
|
||||
|
||||
Reference in New Issue
Block a user