diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-06-17 16:38:51 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-06-17 16:38:51 -0700 |
commit | ff8347a4b16f000be628c5e10d03a1e1c17537eb (patch) | |
tree | 1d46e77a1ef6b28def6af3ffdd576017a6cfe229 /fpdfsdk/src/fpdfview.cpp | |
parent | c4d9f6ad2dc922b574862cd2f6f0a899d7e169e3 (diff) | |
download | pdfium-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/fpdfview.cpp')
-rw-r--r-- | fpdfsdk/src/fpdfview.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp index 48c6516d22..54731193dd 100644 --- a/fpdfsdk/src/fpdfview.cpp +++ b/fpdfsdk/src/fpdfview.cpp @@ -77,13 +77,7 @@ FPDF_BOOL FSDK_IsSandBoxPolicyEnabled(FPDF_DWORD policy) #define _T(x) x #endif -#ifdef API5 - CPDF_ModuleMgr* g_pModuleMgr = NULL; -#else - CCodec_ModuleMgr* g_pCodecModule = NULL; -#endif - -//extern CPDFSDK_FormFillApp* g_pFormFillApp; +CCodec_ModuleMgr* g_pCodecModule = nullptr; #if _FX_OS_ == _FX_LINUX_EMBEDDED_ class CFontMapper : public IPDF_FontMapper @@ -111,7 +105,7 @@ CFontMapper* g_pFontMapper = NULL; DLLEXPORT void STDCALL FPDF_InitLibrary() { - g_pCodecModule = CCodec_ModuleMgr::Create(); + g_pCodecModule = new CCodec_ModuleMgr(); CFX_GEModule::Create(); CFX_GEModule::Get()->SetCodecModule(g_pCodecModule); @@ -135,15 +129,13 @@ DLLEXPORT void STDCALL FPDF_DestroyLibrary() { #if _FX_OS_ == _FX_LINUX_EMBEDDED_ - if (g_pFontMapper) delete g_pFontMapper; + delete g_pFontMapper; + g_pFontMapper = nullptr; #endif -#ifdef API5 - g_pModuleMgr->Destroy(); -#else CPDF_ModuleMgr::Destroy(); CFX_GEModule::Destroy(); - g_pCodecModule->Destroy(); -#endif + delete g_pCodecModule; + g_pCodecModule = nullptr; } #ifndef _WIN32 |