Index: core/fpdfapi/parser/cpdf_array.cpp |
diff --git a/core/fpdfapi/parser/cpdf_array.cpp b/core/fpdfapi/parser/cpdf_array.cpp |
index 807f62d7f3ff5018ad959af1c56b67a1024a0f26..db3b18be3ea78e109e7430baee490f68293a2bdd 100644 |
--- a/core/fpdfapi/parser/cpdf_array.cpp |
+++ b/core/fpdfapi/parser/cpdf_array.cpp |
@@ -152,8 +152,9 @@ void CPDF_Array::ConvertToIndirectObjectAt(size_t i, |
if (!m_Objects[i] || m_Objects[i]->IsReference()) |
return; |
- uint32_t dwObjNum = pHolder->AddIndirectObject(m_Objects[i].release()); |
- m_Objects[i] = UniqueObject(new CPDF_Reference(pHolder, dwObjNum)); |
+ CPDF_Object* pUnowned = pHolder->AddIndirectObject(std::move(m_Objects[i])); |
+ m_Objects[i] = |
+ UniqueObject(new CPDF_Reference(pHolder, pUnowned->GetObjNum())); |
} |
void CPDF_Array::SetAt(size_t i, CPDF_Object* pObj) { |
@@ -205,3 +206,8 @@ void CPDF_Array::AddReference(CPDF_IndirectObjectHolder* pDoc, |
uint32_t objnum) { |
Add(new CPDF_Reference(pDoc, objnum)); |
} |
+ |
+void CPDF_Array::AddReference(CPDF_IndirectObjectHolder* pDoc, |
+ const CPDF_Object* pObj) { |
+ AddReference(pDoc, pObj->GetObjNum()); |
+} |