From d8126c2e72a60403c73f4187d4041364d45a8d61 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 31 May 2018 16:27:11 +0000 Subject: Make pagview decisions at runtime for non-xfa pages. Change-Id: I4c51bed2d285060f28311a0c5e1be9a7e19d408d Reviewed-on: https://pdfium-review.googlesource.com/33153 Commit-Queue: Tom Sepez Reviewed-by: dsinclair --- fpdfsdk/fpdf_view.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'fpdfsdk/fpdf_view.cpp') diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp index 806b9d2b98..5304e330b7 100644 --- a/fpdfsdk/fpdf_view.cpp +++ b/fpdfsdk/fpdf_view.cpp @@ -728,7 +728,9 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_ClosePage(FPDF_PAGE page) { RetainPtr pPage; pPage.Unleak(IPDFPageFromFPDFPage(page)); -#ifndef PDF_ENABLE_XFA + if (pPage->AsXFAPage()) + return; + CPDFSDK_PageView* pPageView = static_cast(pPage->AsPDFPage()->GetView()); if (!pPageView || pPageView->IsBeingDestroyed()) @@ -743,19 +745,18 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_ClosePage(FPDF_PAGE page) { // first because it will attempt to reset the View on the |pPage| during // destruction. pPageView->GetFormFillEnv()->RemovePageView(pPage.Get()); -#endif // PDF_ENABLE_XFA } FPDF_EXPORT void FPDF_CALLCONV FPDF_CloseDocument(FPDF_DOCUMENT document) { auto* pDoc = CPDFDocumentFromFPDFDocument(document); + if (!pDoc) + return; -#if PDF_ENABLE_XFA // Deleting the extension will delete the document - if (pDoc && pDoc->GetExtension()) { + if (pDoc->GetExtension()) { delete pDoc->GetExtension(); return; } -#endif // PDF_ENABLE_XFA delete pDoc; } -- cgit v1.2.3