Index: fpdfsdk/src/fpdfformfill.cpp |
diff --git a/fpdfsdk/src/fpdfformfill.cpp b/fpdfsdk/src/fpdfformfill.cpp |
index a493c7fe21b229c3cc500a5d64dd7577ab537906..dc740edfc5b888126d9dbb10a97e9a450a623119 100644 |
--- a/fpdfsdk/src/fpdfformfill.cpp |
+++ b/fpdfsdk/src/fpdfformfill.cpp |
@@ -656,24 +656,21 @@ DLLEXPORT void STDCALL FORM_DoPageAAction(FPDF_PAGE page, |
return; |
CPDFSDK_Document* pSDKDoc = ((CPDFDoc_Environment*)hHandle)->GetSDKDocument(); |
CPDFXFA_Page* pPage = (CPDFXFA_Page*)page; |
- CPDFSDK_PageView* pPageView = pSDKDoc->GetPageView(pPage, FALSE); |
- if (pPageView) { |
+ CPDF_Page* pPDFPage = pPage->GetPDFPage(); |
+ if (!pPDFPage) |
+ return; |
+ if (pSDKDoc->GetPageView(pPage, FALSE)) { |
CPDFDoc_Environment* pEnv = pSDKDoc->GetEnv(); |
CPDFSDK_ActionHandler* pActionHandler = pEnv->GetActionHander(); |
- CPDF_Dictionary* pPageDict = pPage->GetPDFPage()->m_pFormDict; |
+ CPDF_Dictionary* pPageDict = pPDFPage->m_pFormDict; |
CPDF_AAction aa = pPageDict->GetDict(FX_BSTRC("AA")); |
- |
- FX_BOOL bExistOAAction = FALSE; |
- FX_BOOL bExistCAAction = FALSE; |
if (FPDFPAGE_AACTION_OPEN == aaType) { |
- bExistOAAction = aa.ActionExist(CPDF_AAction::OpenPage); |
- if (bExistOAAction) { |
+ if (aa.ActionExist(CPDF_AAction::OpenPage)) { |
CPDF_Action action = aa.GetAction(CPDF_AAction::OpenPage); |
pActionHandler->DoAction_Page(action, CPDF_AAction::OpenPage, pSDKDoc); |
} |
} else { |
- bExistCAAction = aa.ActionExist(CPDF_AAction::ClosePage); |
- if (bExistCAAction) { |
+ if (aa.ActionExist(CPDF_AAction::ClosePage)) { |
CPDF_Action action = aa.GetAction(CPDF_AAction::ClosePage); |
pActionHandler->DoAction_Page(action, CPDF_AAction::ClosePage, pSDKDoc); |
} |