From 17ee6a55f3178324b123e301e4854c413b640738 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Mon, 3 Feb 2020 15:09:54 +0100 Subject: QPdfDocument::pageSize(): add checkPageComplete() checkPageComplete() calls FPDFAvail_IsPageAvail(), which does some initialization that is necessary before PDFium is able to provide any information about that page. The static readImage() function in qquickpixmapcache.cpp calls QImageReader::size() before rendering, to determine the size of the image that will be read, and that ends up calling QPdfDocument::pageSize(); so it's important to "go to" that page before attempting to read its size. In summary, checkPageComplete() is the "go to page" function that must be called before any other page-specific function. Amends 9231d3444555945297857ee4aae05919083ea479 Change-Id: Idf5ba9d013b62395c284d055fbfe835fe949df79 Reviewed-by: Shawn Rutledge --- src/pdf/qpdfdocument.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pdf/qpdfdocument.cpp b/src/pdf/qpdfdocument.cpp index 37eeb8426..69dc6e9ad 100644 --- a/src/pdf/qpdfdocument.cpp +++ b/src/pdf/qpdfdocument.cpp @@ -608,7 +608,7 @@ int QPdfDocument::pageCount() const QSizeF QPdfDocument::pageSize(int page) const { QSizeF result; - if (!d->doc) + if (!d->doc || !d->checkPageComplete(page)) return result; const QPdfMutexLocker lock; -- cgit v1.2.3