You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koreader/frontend/ui
NiLuJe ae5b2d68ca
AutoSuspend: Don't send LeaveStandby events from a zombie plugin instance (#9124)
Long story short: the LeaveStandby event is sent via `tickAfterNext`, so if we tear down the plugin right after calling it (in this case, that means that the very input event that wakes the device up from suspend is one that kills ReaderUI or FileManager), what's in UIManager's task queue isn't the actual function, but the anonymous nextTick wrapper constructed by `tickAfterNext` (c.f., 
https://github.com/koreader/koreader/issues/9112#issuecomment-1133999385).

Tweak `UIManager:tickAfterNext` to return a reference to said wrapper, so that we can store it and unschedule that one, too, in `AutoSuspend:onCloseWidget`.

Fix #9112 (many thanks to [@boredhominid](https://github.com/boredhominid) for his help in finding a repro for this ;)).
Re: #8638, as the extra debugging facilities (i.e., ebb81b9845) added during testing might help pinpoint the root issue for that one, too.

Also includes a minor simplification to `UIManager:_checkTasks`, and various other task queue related codepaths (e.g., `WakeupMgr`) ;).
2 years ago
..
data DoubleSpinWidget, SpinWidget: add units, make usage more consistent (#9046) 2 years ago
elements DoubleSpinWidget, SpinWidget: add units, make usage more consistent (#9046) 2 years ago
message Remove zsync plugin (#7957) 3 years ago
network NetworkManager: Make sure we show an IM at the *start* of a Wi-Fi toggle action (#9064) 2 years ago
plugin Plugins: adds PluginMenuInserter helper (#7419) 3 years ago
widget AutoSuspend: Don't send LeaveStandby events from a zombie plugin instance (#9124) 2 years ago
bidi.lua Bidi: keep invert() generic, handle settings in ReaderView (#8876) 2 years ago
cloudmgr.lua Standardize select/choose to choose (#8128) 3 years ago
downloadmgr.lua Calibre plugin fixes for android (#6996) 4 years ago
event.lua Revamp flash_ui handling, once more, with feeling ;) (#7262) 3 years ago
font.lua Keyboard: add Bengali Probhat layout (#8887) 2 years ago
geometry.lua [doc] add documentation to a few widgets (#8425) 3 years ago
gesturerange.lua [feat] Replace TimeVal (RIP) with time, fixed point time seconds (#8999) 2 years ago
hook_container.lua Input: Process input events in batches (#7483) 3 years ago
language.lua [i18n] Enable more languages (#9082) 2 years ago
menusorter.lua [fix] MenuSorter: use orderedPairs for orphans (#6403) 4 years ago
otamanager.lua OTAManager: Check for update -> immediately show hourglass (#9083) 2 years ago
quickstart.lua Quick start guide: fix links to images (#8072) 3 years ago
renderimage.lua Update UI layout code to use new SVG icons 4 years ago
rendertext.lua Cache: Some more tweaks after #7624 3 years ago
screensaver.lua DoubleSpinWidget, SpinWidget: add units, make usage more consistent (#9046) 2 years ago
size.lua [RFC] Pagination UI shenanigans (#7335) 3 years ago
time.lua [feat] Replace TimeVal (RIP) with time, fixed point time seconds (#8999) 2 years ago
timeval.lua TimeVal: Do a runtime check for CLOCK_BOOTTIME support (#8832) 2 years ago
translator.lua translator: clear highlight on close if needed 2 years ago
trapper.lua Trapper: fix doc (#8539) 3 years ago
uimanager.lua AutoSuspend: Don't send LeaveStandby events from a zombie plugin instance (#9124) 2 years ago
wikipedia.lua Minor Lua I/O cleanups (#8921) 2 years ago