Hopefully in the least intrusive way possible, because frontlight handling code is hell.
`self.fl_was_on` could go out of sync with the expected state when resume->suspend events happened in very quick succession, leading to it being set to false, preventing the frontlight from being turned back on on the next resume.
Fix#12246
Use a directory distinct from the one in base (so its entries survive
a `make base-re`), symlink the base data directory entries, and the
crengine data files directly from its checkout (since the base data
directory now only contains the bare minimum).
When using `make fetchthirdparty` and base has not been checkout yet:
- make want to include `Makefile.defs` which is missing
- the rule for `Makefile.defs` / `fetchthirdparty` are executed
- make reload the main makefile, and execute `fetchthirdparty`
Namely, in the face of wpa_supplicant doing multiple scans. Note that a backend PR will make this largely redundant, by actually fixing the core issue in our backend ;).
Also add more logging around the authentication status.
* UIManager: Let the fb backend deal with Kaleido wfm promotion. This fixes a number of quirks that poisoned the refresh queue with spurious full-screen refreshes. See https://github.com/koreader/koreader-base/pull/1865 for more details.
* This also means we now disable Kaleido waveform modes when color rendering is disabled (remember to trash your thumbnail cache if you don't want to mix color w/ grayscale thumbnails, though).
* UIManager: Merge refreshes that share an edge, because that was driving me nuts (and would have most likely been merged by the kernel anyway). A perfect test-case is the FM, which trips two separate refreshes because of its title bar.
* ReaderFlipping: Use sensible dimensions, so that we only refresh the icon's region.
* ReaderBookmark: Only refresh the dogear instead of the whole page when toggling bookmarks.
* NetworkSetting: Make it a real boy, so it consistently refreshes properly on dismiss instead of relying on UIManager saving the day.
* Kobo: Aggressively prevent *both* suspend & standby while MTK devices are plugged-in, as both will horribly implode the kernel (we previously only prevent standby while charging).
* Kobo: Switch to 8bpp on B&W MTK devices (or when color rendering is disabled on Kaleido panels).
so as not to break the beforeWifiction shenanigans...
Which is most of them, only the Emulator subclass sets it, for...
reasons.
(That Emulator quirk is also why we can't simply scrap the whole thing
to use NetworkMgr's default imps).
Fix#12203 (thanks to @benoit-pierre for spotting that one).
This was clearly an oversight on my part when working on #10669
Includes:
- xml parser: simplifications and optimizations
- lvstring: optimize Utf8ToUnicode
- lvstream: add helper to read the whole stream
- lvfntman: use new `LVStream::GetData` helper
- EPUB: minor simplification
- EPUB: fix possible buffer overflows
- EPUB: improve support for obfuscated fonts
- lvfntman: add error traces for some freetype calls
- LVDocView header: allow displaying author and book title separately
- LVFontDef::CalcMatch(): bump weight of typeface match
- Font: fix measureText() when max_width met with fallback font
- TextLang: Russian: loosen curly quotes handling
- base: cre.cpp: isLinkToFootnote: say no if target has empty content
- base: fix MacOS build
Avoid highlights' xpointers to be recomputed when
switching between page and scroll mode, which could
make using "Auto-scroll when selection reaches a corner"
really slow when having a large number of highlights.
Closes#12156.