From 2b1a2d528469cda4e9f3e36d3c7a649e0d476480 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 14 Aug 2015 22:16:22 -0700 Subject: Merge to XFA: Use override in more classes in fpdfsdk/ R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1287193005 . (cherry picked from commit 0f6b51c0fdd14f5762bf3c7412ac59c825443cc3) Review URL: https://codereview.chromium.org/1288393004 . --- fpdfsdk/src/fpdfsave.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'fpdfsdk/src/fpdfsave.cpp') diff --git a/fpdfsdk/src/fpdfsave.cpp b/fpdfsdk/src/fpdfsave.cpp index f56cc442f0..7a666bceb8 100644 --- a/fpdfsdk/src/fpdfsave.cpp +++ b/fpdfsdk/src/fpdfsave.cpp @@ -22,10 +22,12 @@ class CFX_IFileWrite final : public IFX_StreamWrite { public: CFX_IFileWrite(); FX_BOOL Init(FPDF_FILEWRITE* pFileWriteStruct); - virtual FX_BOOL WriteBlock(const void* pData, size_t size) override; - virtual void Release() override {} + FX_BOOL WriteBlock(const void* pData, size_t size) override; + void Release() override; protected: + ~CFX_IFileWrite() override {} + FPDF_FILEWRITE* m_pFileWriteStruct; }; @@ -49,6 +51,10 @@ FX_BOOL CFX_IFileWrite::WriteBlock(const void* pData, size_t size) { return TRUE; } +void CFX_IFileWrite::Release() { + delete this; +} + #define XFA_DATASETS 0 #define XFA_FORMS 1 @@ -311,7 +317,6 @@ FPDF_BOOL _FPDF_Doc_Save(FPDF_DOCUMENT document, bRet = FileMaker.Create(pStreamWrite, flags); _SendPostSaveToXFADoc(pDoc); - // pDoc->_ClearChangeMark(); for (int i = 0; i < fileList.GetSize(); i++) { IFX_FileStream* pFile = (IFX_FileStream*)fileList.GetAt(i); @@ -319,7 +324,7 @@ FPDF_BOOL _FPDF_Doc_Save(FPDF_DOCUMENT document, } fileList.RemoveAll(); - delete pStreamWrite; + pStreamWrite->Release(); return bRet; } -- cgit v1.2.3