Index: core/fpdfapi/parser/cpdf_array.cpp |
diff --git a/core/fpdfapi/parser/cpdf_array.cpp b/core/fpdfapi/parser/cpdf_array.cpp |
index af9b544f0a1f302e4bdb5cea8946e67443eb7675..f8ec46acc9da7578f7284f8cf6917c00952c49c1 100644 |
--- a/core/fpdfapi/parser/cpdf_array.cpp |
+++ b/core/fpdfapi/parser/cpdf_array.cpp |
@@ -155,8 +155,8 @@ void CPDF_Array::ConvertToIndirectObjectAt(size_t i, |
if (!pObj || pObj->IsReference()) |
return; |
- uint32_t dwObjNum = pHolder->AddIndirectObject(pObj); |
- m_Objects[i] = new CPDF_Reference(pHolder, dwObjNum); |
+ CPDF_Object* pNew = pHolder->AddIndirectObject(pdfium::WrapUnique(pObj)); |
+ m_Objects[i] = new CPDF_Reference(pHolder, pNew->GetObjNum()); |
} |
void CPDF_Array::SetAt(size_t i, CPDF_Object* pObj) { |
@@ -209,3 +209,9 @@ void CPDF_Array::AddReference(CPDF_IndirectObjectHolder* pDoc, |
uint32_t objnum) { |
Add(new CPDF_Reference(pDoc, objnum)); |
} |
+ |
+void CPDF_Array::AddReference(CPDF_IndirectObjectHolder* pDoc, |
+ CPDF_Object* pObj) { |
+ ASSERT(!pObj->IsInline()); |
+ Add(new CPDF_Reference(pDoc, pObj->GetObjNum())); |
+} |