diff options
Diffstat (limited to 'fpdfsdk/fpdfsave.cpp')
-rw-r--r-- | fpdfsdk/fpdfsave.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fpdfsdk/fpdfsave.cpp b/fpdfsdk/fpdfsave.cpp index 1d076ccdad..6894f8c2ed 100644 --- a/fpdfsdk/fpdfsave.cpp +++ b/fpdfsdk/fpdfsave.cpp @@ -41,10 +41,14 @@ class CFX_IFileWrite final : public IFX_WriteStream { public: static CFX_RetainPtr<CFX_IFileWrite> Create(); + bool Init(FPDF_FILEWRITE* pFileWriteStruct); bool WriteBlock(const void* pData, size_t size) override; protected: + template <typename T, typename... Args> + friend CFX_RetainPtr<T> pdfium::MakeRetain(Args&&... args); + CFX_IFileWrite(); ~CFX_IFileWrite() override {} @@ -52,7 +56,7 @@ class CFX_IFileWrite final : public IFX_WriteStream { }; CFX_RetainPtr<CFX_IFileWrite> CFX_IFileWrite::Create() { - return CFX_RetainPtr<CFX_IFileWrite>(new CFX_IFileWrite()); + return pdfium::MakeRetain<CFX_IFileWrite>(); } CFX_IFileWrite::CFX_IFileWrite() : m_pFileWriteStruct(nullptr) {} @@ -127,7 +131,7 @@ bool SaveXFADocumentData( else if (pPDFObj->GetString() == "template") iTemplate = i + 1; } - std::unique_ptr<CFX_ChecksumContext> pChecksum(new CFX_ChecksumContext); + auto pChecksum = pdfium::MakeUnique<CFX_ChecksumContext>(); pChecksum->StartChecksum(); // template |