The warning watch skips MuPDF's non-embedded font notice and its repeat counts. Text and search reads are watched too: damage they meet is kept on the document, told by the next draw or picture check, and fails image and text exports until then. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1.2 KiB
1.2 KiB
FAIL
- crates/ely-pdf-engine/shim/ely_mupdf.c:86 — Flushing before installing the warning collector discards genuine damage found by an earlier unwatched text/search read. Reproduction: a PDF with a sound cross-reference table and two distinct 4×4 RGB image objects with
/Filter [/FlateDecode /ASCIIHexDecode], each containing zlib-compressedff0000repeated 16 times followed by>, with its checksum replaced by four zero bytes. Calltextorsearchbefore rendering: MuPDF caches the images and leaves a repeated checksum warning pending; the new flush discards it, so rendering returnsdamaged = falseand no repair report. Text extraction followed by either PNG or text export also succeeds. HEAD reports damage and rejects those exports. A single RGB image with/Mask [null null null null null null]reproduces the same loss; after the text read, evencheck_picturesreturns false, removing the overwrite protection required by PDF-14. Capture and classify warnings during the earlier reads and retain damage for the affected document, excluding only the harmless font notice and its repeats; add regressions that read/search damaged images before rendering, exporting, or checking them. Windows comparison evidence:.work/R7.4-r2-compare.log.