diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2018-01-23 15:19:34 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-01-23 15:19:34 +0000 |
commit | 22a1bb99afe62a032ab1fbac9f594c5c182ca880 (patch) | |
tree | 3df4be952491d623196a5b3fe2edf16c5921a1e2 /xfa/fxfa/cxfa_fffield.cpp | |
parent | 4d4731c620ea1fa95c07f8855f84d28c78090119 (diff) | |
download | pdfium-22a1bb99afe62a032ab1fbac9f594c5c182ca880.tar.xz |
Remove CXFA_WidgetAcc from CXFA_FFField::CalculateNode
This CL changes CXFA_FFField::CalculateNode to use a CXFA_Node instead
of a CXFA_WidgetAcc.
Change-Id: I305e0d48f321df845ca2c1ff0f446d201ae7b3fb
Reviewed-on: https://pdfium-review.googlesource.com/23471
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/cxfa_fffield.cpp')
-rw-r--r-- | xfa/fxfa/cxfa_fffield.cpp | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/xfa/fxfa/cxfa_fffield.cpp b/xfa/fxfa/cxfa_fffield.cpp index e9f3101068..971936a86d 100644 --- a/xfa/fxfa/cxfa_fffield.cpp +++ b/xfa/fxfa/cxfa_fffield.cpp @@ -636,34 +636,28 @@ bool CXFA_FFField::ProcessCommittedData() { int32_t CXFA_FFField::CalculateOverride() { CXFA_Node* exclNode = m_pNode->GetExclGroupIfExists(); - if (!exclNode) - return CalculateWidgetAcc(m_pNode->GetWidgetAcc()); - - CXFA_WidgetAcc* pAcc = exclNode->GetWidgetAcc(); - if (!pAcc) - return CalculateWidgetAcc(m_pNode->GetWidgetAcc()); - if (CalculateWidgetAcc(pAcc) == 0) + if (!exclNode || !exclNode->IsWidgetReady()) + return CalculateNode(m_pNode.Get()); + if (CalculateNode(exclNode) == 0) return 0; - CXFA_Node* pNode = pAcc->GetExclGroupFirstMember(); + CXFA_Node* pNode = exclNode->GetWidgetAcc()->GetExclGroupFirstMember(); if (!pNode) return 1; - CXFA_WidgetAcc* pWidgetAcc = nullptr; while (pNode) { - pWidgetAcc = pNode->GetWidgetAcc(); - if (!pWidgetAcc) + if (!pNode->IsWidgetReady()) return 1; - if (CalculateWidgetAcc(pWidgetAcc) == 0) + if (CalculateNode(pNode) == 0) return 0; - pNode = pWidgetAcc->GetExclGroupNextMember(pNode); + pNode = pNode->GetWidgetAcc()->GetExclGroupNextMember(pNode); } return 1; } -int32_t CXFA_FFField::CalculateWidgetAcc(CXFA_WidgetAcc* pAcc) { - CXFA_Calculate* calc = pAcc->GetNode()->GetCalculateIfExists(); +int32_t CXFA_FFField::CalculateNode(CXFA_Node* pNode) { + CXFA_Calculate* calc = pNode->GetCalculateIfExists(); if (!calc) return 1; @@ -690,7 +684,7 @@ int32_t CXFA_FFField::CalculateWidgetAcc(CXFA_WidgetAcc* pAcc) { return 1; } - if (pAcc->GetNode()->IsUserInteractive()) + if (pNode->IsUserInteractive()) return 1; IXFA_AppProvider* pAppProvider = GetApp()->GetAppProvider(); @@ -704,7 +698,7 @@ int32_t CXFA_FFField::CalculateWidgetAcc(CXFA_WidgetAcc* pAcc) { wsMessage += L"Are you sure you want to modify this field?"; if (pAppProvider->MsgBox(wsMessage, L"Calculate Override", XFA_MBICON_Warning, XFA_MB_YesNo) == XFA_IDYes) { - pAcc->GetNode()->SetFlag(XFA_NodeFlag_UserInteractive, false); + pNode->SetFlag(XFA_NodeFlag_UserInteractive, false); return 1; } return 0; @@ -712,7 +706,7 @@ int32_t CXFA_FFField::CalculateWidgetAcc(CXFA_WidgetAcc* pAcc) { case XFA_AttributeEnum::Ignore: return 0; case XFA_AttributeEnum::Disabled: - pAcc->GetNode()->SetFlag(XFA_NodeFlag_UserInteractive, false); + pNode->SetFlag(XFA_NodeFlag_UserInteractive, false); return 1; default: return 1; |