mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
TouchMenu: Workaround an EPDC race in the hold handler w/ flash_ui (#7325)
* Also bump base, because it's mildly related https://github.com/koreader/koreader-base/pull/1312
This commit is contained in:
2
base
2
base
Submodule base updated: d052cd6e0e...529d74140f
@@ -215,6 +215,12 @@ function TouchMenuItem:onHoldSelect(arg, ges)
|
||||
UIManager:setDirty(nil, "fast", highlight_dimen)
|
||||
|
||||
UIManager:forceRePaint()
|
||||
-- NOTE: These very specific circumstances appear to reliably upset the EPDC,
|
||||
-- causing a mild variant of our racey friend the papercut refresh glitch ;).
|
||||
-- As it appears to stem from the race between *this* refresh for the highlight and the following writes to the fb,
|
||||
-- let the kernel take a breather. It'll yield back to us when it's done.
|
||||
-- Expect it to block for ~150 to 350ms. Given the context (a hold gesture), we can absorb the latency hit mostly unnnoticed.
|
||||
UIManager:waitForVSync()
|
||||
|
||||
-- Unhighlight
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user