| Index: core/fpdfapi/parser/cpdf_dictionary.cpp
|
| diff --git a/core/fpdfapi/parser/cpdf_dictionary.cpp b/core/fpdfapi/parser/cpdf_dictionary.cpp
|
| index 403c29fa0dc4d8be2ac5f0619cf5f876d8286e9c..02cdfa37daa511abd6cb58ef4b333e58be157a2a 100644
|
| --- a/core/fpdfapi/parser/cpdf_dictionary.cpp
|
| +++ b/core/fpdfapi/parser/cpdf_dictionary.cpp
|
| @@ -199,8 +199,9 @@ void CPDF_Dictionary::ConvertToIndirectObjectFor(
|
| if (it == m_Map.end() || it->second->IsReference())
|
| return;
|
|
|
| - uint32_t objnum = pHolder->AddIndirectObject(it->second);
|
| - it->second = new CPDF_Reference(pHolder, objnum);
|
| + CPDF_Object* pObj =
|
| + pHolder->AddIndirectObject(pdfium::WrapUnique(it->second));
|
| + it->second = new CPDF_Reference(pHolder, pObj->GetObjNum());
|
| }
|
|
|
| void CPDF_Dictionary::RemoveFor(const CFX_ByteString& key) {
|
| @@ -251,6 +252,13 @@ 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,
|
| + CPDF_Object* pObj) {
|
| + ASSERT(!pObj->IsInline());
|
| + SetFor(key, new CPDF_Reference(pDoc, pObj->GetObjNum()));
|
| +}
|
| +
|
| void CPDF_Dictionary::SetNumberFor(const CFX_ByteString& key, FX_FLOAT f) {
|
| SetFor(key, new CPDF_Number(f));
|
| }
|
|
|