From 7b5bc26e8267fec38bef9f95cd04d2bd731faff3 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 5 Mar 2015 16:44:22 -0800 Subject: Merge to XFA: Make conversion between CPDF_Action and its dictionary explicit. Original Review URL: https://codereview.chromium.org/984773002 R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/984783002 --- fpdfsdk/src/fsdk_mgr.cpp | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) (limited to 'fpdfsdk/src/fsdk_mgr.cpp') diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp index f134b790a9..7b071a9b55 100644 --- a/fpdfsdk/src/fsdk_mgr.cpp +++ b/fpdfsdk/src/fsdk_mgr.cpp @@ -427,30 +427,32 @@ void CPDFSDK_Document:: ProcJavascriptFun() FX_BOOL CPDFSDK_Document::ProcOpenAction() { - if(!m_pDoc) return FALSE; - - CPDF_Dictionary* pRoot = m_pDoc->GetPDFDoc()->GetRoot(); - if (!pRoot) return FALSE; - CPDF_Object* pOpenAction = pRoot->GetDict("OpenAction");// - if(!pOpenAction) pOpenAction = pRoot->GetArray("OpenAction");// - if(!pOpenAction) return FALSE; - + if(!m_pDoc) + return FALSE; + + CPDF_Dictionary* pRoot = m_pDoc->GetPDFDoc()->GetRoot(); + if (!pRoot) + return FALSE; + + CPDF_Object* pOpenAction = pRoot->GetDict("OpenAction"); + if(!pOpenAction) + pOpenAction = pRoot->GetArray("OpenAction"); + + if(!pOpenAction) + return FALSE; + if(pOpenAction->GetType()==PDFOBJ_ARRAY) - { - } - else if(pOpenAction->GetType()==PDFOBJ_DICTIONARY) - { - CPDF_Dictionary * pDict=(CPDF_Dictionary*)pOpenAction; - CPDF_Action Action = pDict; - - if(m_pEnv->GetActionHander()) - m_pEnv->GetActionHander()->DoAction_DocOpen(Action,this); - } - else + return TRUE; + + if(pOpenAction->GetType()==PDFOBJ_DICTIONARY) { - return FALSE; - } - return TRUE; + CPDF_Dictionary * pDict=(CPDF_Dictionary*)pOpenAction; + CPDF_Action action(pDict); + if(m_pEnv->GetActionHander()) + m_pEnv->GetActionHander()->DoAction_DocOpen(action, this); + return TRUE; + } + return FALSE; } CPDF_OCContext* CPDFSDK_Document::GetOCContext() -- cgit v1.2.3