| Index: fpdfsdk/src/fsdk_baseannot.cpp
|
| diff --git a/fpdfsdk/src/fsdk_baseannot.cpp b/fpdfsdk/src/fsdk_baseannot.cpp
|
| index 2b8cee9035c999140c67df168e4aff8774b382f6..16133d9cb736fb9ec187f5d743a7f22bdf128d14 100644
|
| --- a/fpdfsdk/src/fsdk_baseannot.cpp
|
| +++ b/fpdfsdk/src/fsdk_baseannot.cpp
|
| @@ -1090,43 +1090,30 @@ FX_BOOL CPDFSDK_Annot::IsVisible() const
|
|
|
| CPDF_Action CPDFSDK_Annot::GetAction() const
|
| {
|
| - ASSERT(m_pAnnot != NULL);
|
| - ASSERT(m_pAnnot->m_pAnnotDict != NULL);
|
| -
|
| - return m_pAnnot->m_pAnnotDict->GetDict("A");
|
| + return CPDF_Action(m_pAnnot->m_pAnnotDict->GetDict("A"));
|
| }
|
|
|
| void CPDFSDK_Annot::SetAction(const CPDF_Action& action)
|
| {
|
| - ASSERT(m_pAnnot != NULL);
|
| - ASSERT(m_pAnnot->m_pAnnotDict != NULL);
|
| -
|
| - ASSERT(action != NULL);
|
| -
|
| - if ((CPDF_Action&)action != m_pAnnot->m_pAnnotDict->GetDict("A"))
|
| + ASSERT(action);
|
| + if ((CPDF_Action&)action != CPDF_Action(m_pAnnot->m_pAnnotDict->GetDict("A")))
|
| {
|
| - CPDF_Document* pDoc = m_pPageView->GetPDFDocument();
|
| - ASSERT(pDoc != NULL);
|
| -
|
| - if (action.m_pDict && (action.m_pDict->GetObjNum() == 0))
|
| - pDoc->AddIndirectObject(action.m_pDict);
|
| - m_pAnnot->m_pAnnotDict->SetAtReference("A", pDoc, action.m_pDict->GetObjNum());
|
| + CPDF_Document* pDoc = m_pPageView->GetPDFDocument();
|
| + CPDF_Dictionary* pDict = action.GetDict();
|
| + if (pDict && pDict->GetObjNum() == 0) {
|
| + pDoc->AddIndirectObject(pDict);
|
| + }
|
| + m_pAnnot->m_pAnnotDict->SetAtReference("A", pDoc, pDict->GetObjNum());
|
| }
|
| }
|
|
|
| void CPDFSDK_Annot::RemoveAction()
|
| {
|
| - ASSERT(m_pAnnot != NULL);
|
| - ASSERT(m_pAnnot->m_pAnnotDict != NULL);
|
| -
|
| m_pAnnot->m_pAnnotDict->RemoveAt("A");
|
| }
|
|
|
| CPDF_AAction CPDFSDK_Annot::GetAAction() const
|
| {
|
| - ASSERT(m_pAnnot != NULL);
|
| - ASSERT(m_pAnnot->m_pAnnotDict != NULL);
|
| -
|
| return m_pAnnot->m_pAnnotDict->GetDict("AA");
|
| }
|
|
|
| @@ -1151,17 +1138,14 @@ void CPDFSDK_Annot::RemoveAAction()
|
| CPDF_Action CPDFSDK_Annot::GetAAction(CPDF_AAction::AActionType eAAT)
|
| {
|
| CPDF_AAction AAction = GetAAction();
|
| -
|
| +
|
| if (AAction.ActionExist(eAAT))
|
| - {
|
| return AAction.GetAction(eAAT);
|
| - }
|
| - else if (eAAT == CPDF_AAction::ButtonUp)
|
| - {
|
| +
|
| + if (eAAT == CPDF_AAction::ButtonUp)
|
| return GetAction();
|
| - }
|
| -
|
| - return NULL;
|
| +
|
| + return CPDF_Action();
|
| }
|
|
|
| void CPDFSDK_Annot::Annot_OnDraw(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device, CPDF_RenderOptions* pOptions)
|
|
|