diff options
-rw-r--r-- | core/src/fpdfdoc/doc_ap.cpp | 5 | ||||
-rw-r--r-- | core/src/fpdfdoc/doc_formfield.cpp | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/core/src/fpdfdoc/doc_ap.cpp b/core/src/fpdfdoc/doc_ap.cpp index 6a8ab374d2..0e2a75ad2c 100644 --- a/core/src/fpdfdoc/doc_ap.cpp +++ b/core/src/fpdfdoc/doc_ap.cpp @@ -253,7 +253,10 @@ static FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict if (!pFormDict) { return FALSE; } - CFX_ByteString DA = FPDF_GetFieldAttr(pAnnotDict, "DA") ? FPDF_GetFieldAttr(pAnnotDict, "DA")->GetString() : CFX_ByteString(); + CFX_ByteString DA; + if (CPDF_Object* pDAObj = FPDF_GetFieldAttr(pAnnotDict, "DA")) { + DA = pDAObj->GetString(); + } if (DA.IsEmpty()) { DA = pFormDict->GetString("DA"); } diff --git a/core/src/fpdfdoc/doc_formfield.cpp b/core/src/fpdfdoc/doc_formfield.cpp index e51acf94a1..eeba372390 100644 --- a/core/src/fpdfdoc/doc_formfield.cpp +++ b/core/src/fpdfdoc/doc_formfield.cpp @@ -1077,9 +1077,12 @@ FX_BOOL CPDF_FormField::ClearSelectedOptions(FX_BOOL bNotify) } void CPDF_FormField::LoadDA() { - CFX_ByteString DA = FPDF_GetFieldAttr(m_pDict, "DA") ? FPDF_GetFieldAttr(m_pDict, "DA")->GetString() : CFX_ByteString(); - if (DA.IsEmpty()) { - DA = m_pForm->m_pFormDict ? m_pForm->m_pFormDict->GetString("DA") : CFX_ByteString(); + CFX_ByteString DA; + if (CPDF_Object* pObj_t = FPDF_GetFieldAttr(m_pDict, "DA")) { + DA = pObj_t->GetString(); + } + if (DA.IsEmpty() && m_pForm->m_pFormDict) { + DA = m_pForm->m_pFormDict->GetString("DA"); } if (DA.IsEmpty()) { return; |