summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/fpdfdoc/doc_ap.cpp5
-rw-r--r--core/src/fpdfdoc/doc_formfield.cpp9
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;