summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-08-17 12:45:26 -0700
committerCommit bot <commit-bot@chromium.org>2016-08-17 12:45:26 -0700
commit260f5fbf3553a96fa49b029cc050220039c30e2a (patch)
treebd2cb6ee2909cb33f0b78969086ec3aaf83e548a /core/fpdfapi/fpdf_parser/cpdf_data_avail.cpp
parent70ba38a9a1af0240529a96904dfdb8868b868719 (diff)
downloadpdfium-260f5fbf3553a96fa49b029cc050220039c30e2a.tar.xz
Move parser pointer to CPDF_Document
The CPDF_IndirectObjectHolder has two subclasses, CPDF_Document and CFDF_Document. The CPDF document requires the parser and the CFDF document does not. This cl moves the parser pointer up to CPDF_Document. Review-Url: https://codereview.chromium.org/2253723002
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();
}
}