| Index: core/src/fpdfdoc/doc_form.cpp
|
| diff --git a/core/src/fpdfdoc/doc_form.cpp b/core/src/fpdfdoc/doc_form.cpp
|
| index 17f180844426253861f91a9316c2641fe7c3b0b0..80786088838cfa6aa9b6f2538e443b46b264a36f 100644
|
| --- a/core/src/fpdfdoc/doc_form.cpp
|
| +++ b/core/src/fpdfdoc/doc_form.cpp
|
| @@ -854,9 +854,9 @@ CPDF_FormField* CPDF_InterForm::GetFieldInCalculationOrder(int index) {
|
| if (pArray == NULL) {
|
| return NULL;
|
| }
|
| - CPDF_Object* pElement = pArray->GetElementValue(index);
|
| - if (pElement != NULL && pElement->GetType() == PDFOBJ_DICTIONARY) {
|
| - return GetFieldByDict((CPDF_Dictionary*)pElement);
|
| + if (CPDF_Dictionary* pElement =
|
| + ToDictionary(pArray->GetElementValue(index))) {
|
| + return GetFieldByDict(pElement);
|
| }
|
| return NULL;
|
| }
|
| @@ -1049,25 +1049,24 @@ void CPDF_InterForm::FixPageFields(const CPDF_Page* pPage) {
|
| }
|
| }
|
| }
|
| -CPDF_FormField* CPDF_InterForm::AddTerminalField(
|
| - const CPDF_Dictionary* pFieldDict) {
|
| +CPDF_FormField* CPDF_InterForm::AddTerminalField(CPDF_Dictionary* pFieldDict) {
|
| if (!pFieldDict->KeyExist(FX_BSTRC("T"))) {
|
| return NULL;
|
| }
|
| - CPDF_Dictionary* pDict = (CPDF_Dictionary*)pFieldDict;
|
| - CFX_WideString csWName = GetFullName(pDict);
|
| + CPDF_Dictionary* pDict = pFieldDict;
|
| + CFX_WideString csWName = GetFullName(pFieldDict);
|
| if (csWName.IsEmpty()) {
|
| return NULL;
|
| }
|
| CPDF_FormField* pField = NULL;
|
| pField = m_pFieldTree->GetField(csWName);
|
| if (pField == NULL) {
|
| - CPDF_Dictionary* pParent = (CPDF_Dictionary*)pFieldDict;
|
| + CPDF_Dictionary* pParent = pFieldDict;
|
| if (!pFieldDict->KeyExist(FX_BSTRC("T")) &&
|
| pFieldDict->GetString(FX_BSTRC("Subtype")) == FX_BSTRC("Widget")) {
|
| pParent = pFieldDict->GetDict(FX_BSTRC("Parent"));
|
| if (!pParent) {
|
| - pParent = (CPDF_Dictionary*)pFieldDict;
|
| + pParent = pFieldDict;
|
| }
|
| }
|
| if (pParent && pParent != pFieldDict &&
|
| @@ -1116,15 +1115,14 @@ CPDF_FormField* CPDF_InterForm::AddTerminalField(
|
| }
|
| return pField;
|
| }
|
| -CPDF_FormControl* CPDF_InterForm::AddControl(
|
| - const CPDF_FormField* pField,
|
| - const CPDF_Dictionary* pWidgetDict) {
|
| +CPDF_FormControl* CPDF_InterForm::AddControl(const CPDF_FormField* pField,
|
| + CPDF_Dictionary* pWidgetDict) {
|
| const auto it = m_ControlMap.find(pWidgetDict);
|
| if (it != m_ControlMap.end())
|
| return it->second;
|
|
|
| - CPDF_FormControl* pControl = new CPDF_FormControl(
|
| - (CPDF_FormField*)pField, (CPDF_Dictionary*)pWidgetDict);
|
| + CPDF_FormControl* pControl =
|
| + new CPDF_FormControl((CPDF_FormField*)pField, pWidgetDict);
|
| m_ControlMap[pWidgetDict] = pControl;
|
| ((CPDF_FormField*)pField)->m_ControlList.Add(pControl);
|
| return pControl;
|
|
|