summaryrefslogtreecommitdiff
path: root/fpdfsdk/src/fsdk_mgr.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-06-17 16:38:51 -0700
committerTom Sepez <tsepez@chromium.org>2015-06-17 16:38:51 -0700
commitff8347a4b16f000be628c5e10d03a1e1c17537eb (patch)
tree1d46e77a1ef6b28def6af3ffdd576017a6cfe229 /fpdfsdk/src/fsdk_mgr.cpp
parentc4d9f6ad2dc922b574862cd2f6f0a899d7e169e3 (diff)
downloadpdfium-ff8347a4b16f000be628c5e10d03a1e1c17537eb.tar.xz
Replace some Release() calls with virtual destructors.
A virtual method that does |delete this| is an anti-pattern. Some classes can be de-virtualized instead. Throw in some unique_ptrs and delete dead code for good measure. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1192013002.
Diffstat (limited to 'fpdfsdk/src/fsdk_mgr.cpp')
-rw-r--r--fpdfsdk/src/fsdk_mgr.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp
index 1e57dc7b4e..b8028aad73 100644
--- a/fpdfsdk/src/fsdk_mgr.cpp
+++ b/fpdfsdk/src/fsdk_mgr.cpp
@@ -332,24 +332,20 @@ CPDFSDK_Document::CPDFSDK_Document(CPDF_Document* pDoc,CPDFDoc_Environment* pEnv
CPDFSDK_Document::~CPDFSDK_Document()
{
- FX_POSITION pos = m_pageMap.GetStartPosition();
- while (pos) {
- CPDF_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) {
+ CPDF_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()