diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-06-18 12:47:11 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-06-18 12:47:11 -0700 |
commit | 2c28619de8051661c7f66f2192c6fb9ef14ee905 (patch) | |
tree | 4bd15bf0bb72e4127403548bf2f40230bbdd352b /fpdfsdk/src | |
parent | 0c1bd7c6ad378ea97a2f54cb0c4761716f6d1057 (diff) | |
download | pdfium-2c28619de8051661c7f66f2192c6fb9ef14ee905.tar.xz |
Replace some Release() calls with virtual destructors.
Required fixing xfa-specific code.
Original Review URL: https://codereview.chromium.org/1192013002.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1176413004.
Diffstat (limited to 'fpdfsdk/src')
-rw-r--r-- | fpdfsdk/src/fpdfview.cpp | 8 | ||||
-rw-r--r-- | fpdfsdk/src/fsdk_actionhandler.cpp | 29 | ||||
-rw-r--r-- | fpdfsdk/src/fsdk_baseform.cpp | 16 | ||||
-rw-r--r-- | fpdfsdk/src/fsdk_mgr.cpp | 34 |
4 files changed, 23 insertions, 64 deletions
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp index 80aad14ac2..227843ec5c 100644 --- a/fpdfsdk/src/fpdfview.cpp +++ b/fpdfsdk/src/fpdfview.cpp @@ -177,11 +177,11 @@ FPDF_BOOL FSDK_IsSandBoxPolicyEnabled(FPDF_DWORD policy) return FALSE; } -CCodec_ModuleMgr* g_pCodecModule = NULL; +CCodec_ModuleMgr* g_pCodecModule = nullptr; DLLEXPORT void STDCALL FPDF_InitLibrary() { - g_pCodecModule = CCodec_ModuleMgr::Create(); + g_pCodecModule = new CCodec_ModuleMgr(); CFX_GEModule::Create(); CFX_GEModule::Get()->SetCodecModule(g_pCodecModule); @@ -199,7 +199,9 @@ DLLEXPORT void STDCALL FPDF_DestroyLibrary() CPDFXFA_App::ReleaseInstance(); CPDF_ModuleMgr::Destroy(); CFX_GEModule::Destroy(); - g_pCodecModule->Destroy(); + + delete g_pCodecModule; + g_pCodecModule = nullptr; } #ifndef _WIN32 diff --git a/fpdfsdk/src/fsdk_actionhandler.cpp b/fpdfsdk/src/fsdk_actionhandler.cpp index dd176eebb0..485852ca00 100644 --- a/fpdfsdk/src/fsdk_actionhandler.cpp +++ b/fpdfsdk/src/fsdk_actionhandler.cpp @@ -12,27 +12,9 @@ /* -------------------------- CBA_ActionHandler -------------------------- */ -CPDFSDK_ActionHandler::CPDFSDK_ActionHandler(CPDFDoc_Environment* pEvi) : - m_pFormActionHandler(NULL), - m_pMediaActionHandler(NULL) -{ - m_pFormActionHandler = new CPDFSDK_FormActionHandler; -} - -CPDFSDK_ActionHandler::~CPDFSDK_ActionHandler() -{ - if(m_pFormActionHandler) - { - delete m_pFormActionHandler; - m_pFormActionHandler = NULL; - } -} - -void CPDFSDK_ActionHandler::SetFormActionHandler(CPDFSDK_FormActionHandler* pHandler) -{ - ASSERT(pHandler != NULL); - ASSERT(m_pFormActionHandler == NULL); - m_pFormActionHandler = pHandler; +CPDFSDK_ActionHandler::CPDFSDK_ActionHandler(CPDFDoc_Environment* pEvi) + : m_pFormActionHandler(new CPDFSDK_FormActionHandler), + m_pMediaActionHandler(NULL) { } void CPDFSDK_ActionHandler::SetMediaActionHandler(CPDFSDK_MediaActionHandler* pHandler) @@ -42,11 +24,6 @@ void CPDFSDK_ActionHandler::SetMediaActionHandler(CPDFSDK_MediaActionHandler* pH m_pMediaActionHandler = pHandler; } -void CPDFSDK_ActionHandler::Destroy() -{ - delete this; -} - //document open FX_BOOL CPDFSDK_ActionHandler::DoAction_DocOpen(const CPDF_Action& action, CPDFSDK_Document* pDocument) { diff --git a/fpdfsdk/src/fsdk_baseform.cpp b/fpdfsdk/src/fsdk_baseform.cpp index 9ea2f4e487..3e5e563126 100644 --- a/fpdfsdk/src/fsdk_baseform.cpp +++ b/fpdfsdk/src/fsdk_baseform.cpp @@ -2410,7 +2410,6 @@ CPDFSDK_InterForm::CPDFSDK_InterForm(CPDFSDK_Document* pDocument) CPDFSDK_InterForm::~CPDFSDK_InterForm() { - ASSERT(m_pInterForm != NULL); delete m_pInterForm; m_pInterForm = NULL; @@ -2418,21 +2417,6 @@ CPDFSDK_InterForm::~CPDFSDK_InterForm() m_XFAMap.RemoveAll(); } -void CPDFSDK_InterForm::Destroy() -{ - delete this; -} - -CPDF_InterForm* CPDFSDK_InterForm::GetInterForm() -{ - return m_pInterForm; -} - -CPDFSDK_Document* CPDFSDK_InterForm::GetDocument() -{ - return m_pDocument; -} - FX_BOOL CPDFSDK_InterForm::HighlightWidgets() { return FALSE; diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp index 3eb3c9dd9b..69a9929bc3 100644 --- a/fpdfsdk/src/fsdk_mgr.cpp +++ b/fpdfsdk/src/fsdk_mgr.cpp @@ -316,25 +316,21 @@ CPDFSDK_Document::CPDFSDK_Document(CPDFXFA_Document* pDoc,CPDFDoc_Environment* p CPDFSDK_Document::~CPDFSDK_Document() { - FX_POSITION pos = m_pageMap.GetStartPosition(); - while(pos) - { - CPDFXFA_Page* pPage = NULL; - CPDFSDK_PageView* pPageView = NULL; - m_pageMap.GetNextAssoc(pos, pPage, pPageView); - delete pPageView; - } - m_pageMap.RemoveAll(); - if(m_pInterForm) - { - m_pInterForm->Destroy(); - m_pInterForm = NULL; - } - if(m_pOccontent) - { - delete m_pOccontent; - m_pOccontent = NULL; - } + FX_POSITION pos = m_pageMap.GetStartPosition(); + while(pos) + { + CPDFXFA_Page* pPage = NULL; + CPDFSDK_PageView* pPageView = NULL; + m_pageMap.GetNextAssoc(pos, pPage, pPageView); + delete pPageView; + } + m_pageMap.RemoveAll(); + + delete m_pInterForm; + m_pInterForm = nullptr; + + delete m_pOccontent; + m_pOccontent = nullptr; } void CPDFSDK_Document::InitPageView() |