Index: core/fpdfapi/parser/cpdf_parser.cpp |
diff --git a/core/fpdfapi/parser/cpdf_parser.cpp b/core/fpdfapi/parser/cpdf_parser.cpp |
index d9c892f13351bd0541e9736d76c4fc6d1abd7cbc..40a615fa472eb3ab9562ef9df6f845b95362afb1 100644 |
--- a/core/fpdfapi/parser/cpdf_parser.cpp |
+++ b/core/fpdfapi/parser/cpdf_parser.cpp |
@@ -955,18 +955,21 @@ FX_BOOL CPDF_Parser::RebuildCrossRef() { |
} |
FX_BOOL CPDF_Parser::LoadCrossRefV5(FX_FILESIZE* pos, FX_BOOL bMainXRef) { |
- UniqueObject pObject(ParseIndirectObjectAt(m_pDocument, *pos, 0)); |
+ std::unique_ptr<CPDF_Object> pObject( |
+ ParseIndirectObjectAt(m_pDocument, *pos, 0)); |
if (!pObject) |
return FALSE; |
CPDF_Object* pUnownedObject = pObject.get(); |
+ |
if (m_pDocument) { |
CPDF_Dictionary* pRootDict = m_pDocument->GetRoot(); |
if (pRootDict && pRootDict->GetObjNum() == pObject->m_ObjNum) |
return FALSE; |
+ // Takes ownership of object (std::move someday). |
uint32_t objnum = pObject->m_ObjNum; |
if (!m_pDocument->ReplaceIndirectObjectIfHigherGeneration( |
- objnum, std::move(pObject))) { |
+ objnum, pObject.release())) { |
return FALSE; |
} |
} |