Fix wrong page count returned in FPDF_GetPageCount() for dynamic XFA files
In FPDF_GetPageCount(), 'document' is converted to a non-XFA
document pointer (CPDF_Document*). So it only returns non-XFA
or static XFA page count. If XFA files include dynamic XFA fields
on some pages, the returned value doesn't reflect these pages.
BUG=pdfium:278
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1442753005 .
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
index 8da56dc..8b3dff2 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -416,7 +416,7 @@
}
DLLEXPORT int STDCALL FPDF_GetPageCount(FPDF_DOCUMENT document) {
- CPDF_Document* pDoc = CPDFDocumentFromFPDFDocument(document);
+ CPDFXFA_Document* pDoc = static_cast<CPDFXFA_Document*>(document);
return pDoc ? pDoc->GetPageCount() : 0;
}