A bug-fix release. If you are on v2.2.1, update — text editing there only works for the first paragraph of a session.
What was broken
After editing one paragraph, the double-click that should have started the next edit — on the same page or any other — did nothing at all, with no message.
Qt delivers a double-click as press, release, double-click. With an overlay already open, the press moves the focus, the focus change commits that overlay, and the commit raised a latch meant to stop a stale gesture from opening an editor the pending refresh would tear down.
The double-click then arrives in the same event burst, before any timer can lower that latch. So the guard never caught a stale gesture — it caught the live one, every single time. The first edit worked only because there was no earlier overlay to commit.
Why the guard could not simply be removed
Measured with the latch disabled: the second overlay does open, and the previous edit's own refresh destroys it microseconds later — taking whatever was typed with it.
The gesture genuinely has to be held. It just has to be replayed once the page is whole again, rather than dropped.
The held click remembers the paragraph's text rather than its position on the page, because committing an edit renumbers a page's paragraphs and a stored index would replay into the wrong words. If a grow-down push has moved the target it is matched by text; if nothing matches, nothing opens, rather than editing a neighbour by mistake.
The replacement state also cannot wedge: it is cleared both when the mutation lands and unconditionally at the start of the next click, so no missed timer can leave the viewer permanently refusing to edit.
Installing
xattr -dr com.apple.quarantine /Applications/PdfRomeo.apptests/test_edit_text_ui.py grows from 39 to 57 checks, including three consecutive edits driven by real synthetic double-clicks across two pages — verified to fail against v2.2.1 and pass here. Full suite: 57 + 49 + 43 tool panels + 256 + 139 + 23 + engine smoke, all green.
Full changelog: https://github.com/romizone/pdfromeo/blob/main/CHANGELOG.md