summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp')
-rw-r--r--core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp b/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
index 94795fd60e..58b69257ad 100644
--- a/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
+++ b/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
@@ -176,7 +176,7 @@ FX_BOOL CPDF_DataAvail::IsObjectsAvail(
} else if (!pdfium::ContainsKey(m_ObjectSet, dwNum)) {
m_ObjectSet.insert(dwNum);
CPDF_Object* pReferred =
- m_pDocument->GetIndirectObject(pRef->GetRefObjNum());
+ m_pDocument->GetOrParseIndirectObject(pRef->GetRefObjNum());
if (pReferred)
new_obj_array.Add(pReferred);
}
@@ -1788,8 +1788,10 @@ CPDF_Dictionary* CPDF_DataAvail::GetPage(int index) {
if (!pPageDict)
return nullptr;
- if (!m_pDocument->InsertIndirectObject(dwObjNum, pPageDict))
+ if (!m_pDocument->ReplaceIndirectObjectIfHigherGeneration(dwObjNum,
+ pPageDict)) {
return nullptr;
+ }
return pPageDict->GetDict();
}
}