Index: core/fpdfapi/parser/cpdf_dictionary.cpp |
diff --git a/core/fpdfapi/parser/cpdf_dictionary.cpp b/core/fpdfapi/parser/cpdf_dictionary.cpp |
index 435eee72487070495748855743b9449b769d4839..0f03947ebdb45819cd4b30515d2b9f2a7a953446 100644 |
--- a/core/fpdfapi/parser/cpdf_dictionary.cpp |
+++ b/core/fpdfapi/parser/cpdf_dictionary.cpp |
@@ -188,8 +188,8 @@ void CPDF_Dictionary::ConvertToIndirectObjectFor( |
if (it == m_Map.end() || it->second->IsReference()) |
return; |
- uint32_t objnum = pHolder->AddIndirectObject(it->second.release()); |
- it->second = UniqueReference(new CPDF_Reference(pHolder, objnum)); |
+ CPDF_Object* pObj = pHolder->AddIndirectObject(std::move(it->second)); |
+ it->second = UniqueReference(new CPDF_Reference(pHolder, pObj->GetObjNum())); |
} |
void CPDF_Dictionary::RemoveFor(const CFX_ByteString& key) { |
@@ -229,6 +229,12 @@ void CPDF_Dictionary::SetReferenceFor(const CFX_ByteString& key, |
SetFor(key, new CPDF_Reference(pDoc, objnum)); |
} |
+void CPDF_Dictionary::SetReferenceFor(const CFX_ByteString& key, |
+ CPDF_IndirectObjectHolder* pDoc, |
+ const CPDF_Object* pObj) { |
+ SetReferenceFor(key, pDoc, pObj->GetObjNum()); |
+} |
+ |
void CPDF_Dictionary::SetNumberFor(const CFX_ByteString& key, FX_FLOAT f) { |
SetFor(key, new CPDF_Number(f)); |
} |