Index: fpdfsdk/fpdfppo.cpp |
diff --git a/fpdfsdk/fpdfppo.cpp b/fpdfsdk/fpdfppo.cpp |
index 705c7e21daa90fcc1d4abc2981e844bd68f3dba9..610aae7abdcd4acf5ba21e08fd990c3393b23282 100644 |
--- a/fpdfsdk/fpdfppo.cpp |
+++ b/fpdfsdk/fpdfppo.cpp |
@@ -170,9 +170,9 @@ bool CPDF_PageOrganizer::PDFDocInit() { |
CPDF_Dictionary* pNewPages = |
pElement ? ToDictionary(pElement->GetDirect()) : nullptr; |
if (!pNewPages) { |
- pNewPages = new CPDF_Dictionary(m_pDestPDFDoc->GetByteStringPool()); |
- pNewRoot->SetReferenceFor("Pages", m_pDestPDFDoc, |
- m_pDestPDFDoc->AddIndirectObject(pNewPages)); |
+ pNewPages = m_pDestPDFDoc->NewIndirect<CPDF_Dictionary>( |
+ m_pDestPDFDoc->GetByteStringPool()); |
+ pNewRoot->SetReferenceFor("Pages", m_pDestPDFDoc, pNewPages); |
} |
CFX_ByteString cbPageType = pNewPages->GetStringFor("Type", ""); |
@@ -181,9 +181,8 @@ bool CPDF_PageOrganizer::PDFDocInit() { |
if (!pNewPages->GetArrayFor("Kids")) { |
pNewPages->SetIntegerFor("Count", 0); |
- pNewPages->SetReferenceFor( |
- "Kids", m_pDestPDFDoc, |
- m_pDestPDFDoc->AddIndirectObject(new CPDF_Array)); |
+ pNewPages->SetReferenceFor("Kids", m_pDestPDFDoc, |
+ m_pDestPDFDoc->NewIndirect<CPDF_Array>()); |
} |
return true; |
@@ -331,8 +330,9 @@ uint32_t CPDF_PageOrganizer::GetNewObjId(ObjectNumberMap* pObjNumberMap, |
return 0; |
} |
} |
- CPDF_Object* pUnownedClone = pClone.get(); |
- dwNewObjNum = m_pDestPDFDoc->AddIndirectObject(pClone.release()); |
+ CPDF_Object* pUnownedClone = |
+ m_pDestPDFDoc->AddIndirectObject(std::move(pClone)); |
+ dwNewObjNum = pUnownedClone->GetObjNum(); |
(*pObjNumberMap)[dwObjnum] = dwNewObjNum; |
if (!UpdateReference(pUnownedClone, pObjNumberMap)) |
return 0; |