Slightly reduce asynchronicity in the Catalog.getPageDict
method (PR 14338 follow-up)
#14370
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.
After the changes in PR #14338, specifically in the
XRef.parse
-method, the /Pages-entry will now always have been fetched/validated when theCatalog
-instance is created.Hence we can directly access the /Pages-entry in
Catalog.getPageDict
and thus avoid one asynchronous data-lookup per page in the document. (In practice this is unlikely to show up in e.g. benchmarks, but it really cannot hurt.)Finally, make sure that the
getPageDict
/getAllPageDicts
-methods track the /Pages-tree reference correctly to prevent circular references in corrupt documents.