Fix PDFium abuse that leads to a crash on Windows ARM #3460
+11
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With -DGPT4ALL_USE_QTPDF=OFF, we hit an embarrassingly misplaced call to
FPDF_DestroyLibrary()
after the first PDF is read. This prevents further use of PDFium without a call to FPDF_InitLibrary, which never happens.So after we read a few PDFs, this causes a crash. The fix is to destroy it at shutdown instead. There is also a change here to improve the exception safety of m_page, which might result in a double-free otherwise.