summaryrefslogtreecommitdiff
path: root/fpdfsdk
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk')
-rw-r--r--fpdfsdk/include/fsdk_mgr.h14
-rw-r--r--fpdfsdk/src/fsdk_mgr.cpp52
2 files changed, 20 insertions, 46 deletions
diff --git a/fpdfsdk/include/fsdk_mgr.h b/fpdfsdk/include/fsdk_mgr.h
index 2cc528265d..ae4e16368c 100644
--- a/fpdfsdk/include/fsdk_mgr.h
+++ b/fpdfsdk/include/fsdk_mgr.h
@@ -205,7 +205,7 @@ class CPDFDoc_Environment final {
CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc; }
CPDF_Document* GetPDFDocument() const { return m_pPDFDoc; }
CFX_ByteString GetAppName() const { return ""; }
- IFX_SystemHandler* GetSysHandler() const { return m_pSysHandler; }
+ IFX_SystemHandler* GetSysHandler() const { return m_pSysHandler.get(); }
FPDF_FORMFILLINFO* GetFormFillInfo() const { return m_pInfo; }
CFFL_IFormFiller* GetIFormFiller(); // Creates if not present.
@@ -214,14 +214,14 @@ class CPDFDoc_Environment final {
CPDFSDK_ActionHandler* GetActionHander(); // Creates if not present.
private:
- CPDFSDK_AnnotHandlerMgr* m_pAnnotHandlerMgr;
- CPDFSDK_ActionHandler* m_pActionHandler;
+ nonstd::unique_ptr<CPDFSDK_AnnotHandlerMgr> m_pAnnotHandlerMgr;
+ nonstd::unique_ptr<CPDFSDK_ActionHandler> m_pActionHandler;
nonstd::unique_ptr<IJS_Runtime> m_pJSRuntime;
FPDF_FORMFILLINFO* const m_pInfo;
CPDFSDK_Document* m_pSDKDoc;
CPDF_Document* const m_pPDFDoc;
- CFFL_IFormFiller* m_pIFormFiller;
- IFX_SystemHandler* m_pSysHandler;
+ nonstd::unique_ptr<CFFL_IFormFiller> m_pIFormFiller;
+ nonstd::unique_ptr<IFX_SystemHandler> m_pSysHandler;
};
class CPDFSDK_Document {
@@ -278,10 +278,10 @@ class CPDFSDK_Document {
private:
std::map<CPDF_Page*, CPDFSDK_PageView*> m_pageMap;
CPDF_Document* m_pDoc;
- CPDFSDK_InterForm* m_pInterForm;
+ nonstd::unique_ptr<CPDFSDK_InterForm> m_pInterForm;
CPDFSDK_Annot* m_pFocusAnnot;
CPDFDoc_Environment* m_pEnv;
- CPDF_OCContext* m_pOccontent;
+ nonstd::unique_ptr<CPDF_OCContext> m_pOccontent;
FX_BOOL m_bChangeMask;
FX_BOOL m_bBeingDestroyed;
};
diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp
index 60fd0eff0b..841bd197e0 100644
--- a/fpdfsdk/src/fsdk_mgr.cpp
+++ b/fpdfsdk/src/fsdk_mgr.cpp
@@ -210,27 +210,13 @@ FX_SYSTEMTIME CFX_SystemHandler::GetLocalTime() {
CPDFDoc_Environment::CPDFDoc_Environment(CPDF_Document* pDoc,
FPDF_FORMFILLINFO* pFFinfo)
- : m_pAnnotHandlerMgr(NULL),
- m_pActionHandler(NULL),
- m_pInfo(pFFinfo),
+ : m_pInfo(pFFinfo),
m_pSDKDoc(NULL),
m_pPDFDoc(pDoc),
- m_pIFormFiller(NULL) {
- m_pSysHandler = new CFX_SystemHandler(this);
+ m_pSysHandler(new CFX_SystemHandler(this)) {
}
CPDFDoc_Environment::~CPDFDoc_Environment() {
- delete m_pIFormFiller;
- m_pIFormFiller = NULL;
-
- delete m_pSysHandler;
- m_pSysHandler = NULL;
-
- delete m_pAnnotHandlerMgr;
- m_pAnnotHandlerMgr = NULL;
-
- delete m_pActionHandler;
- m_pActionHandler = NULL;
}
int CPDFDoc_Environment::JS_appAlert(const FX_WCHAR* Msg,
@@ -385,31 +371,25 @@ IJS_Runtime* CPDFDoc_Environment::GetJSRuntime() {
CPDFSDK_AnnotHandlerMgr* CPDFDoc_Environment::GetAnnotHandlerMgr() {
if (!m_pAnnotHandlerMgr)
- m_pAnnotHandlerMgr = new CPDFSDK_AnnotHandlerMgr(this);
- return m_pAnnotHandlerMgr;
+ m_pAnnotHandlerMgr.reset(new CPDFSDK_AnnotHandlerMgr(this));
+ return m_pAnnotHandlerMgr.get();
}
CPDFSDK_ActionHandler* CPDFDoc_Environment::GetActionHander() {
if (!m_pActionHandler)
- m_pActionHandler = new CPDFSDK_ActionHandler();
- return m_pActionHandler;
+ m_pActionHandler.reset(new CPDFSDK_ActionHandler());
+ return m_pActionHandler.get();
}
CFFL_IFormFiller* CPDFDoc_Environment::GetIFormFiller() {
if (!m_pIFormFiller)
- m_pIFormFiller = new CFFL_IFormFiller(this);
- return m_pIFormFiller;
+ m_pIFormFiller.reset(new CFFL_IFormFiller(this));
+ return m_pIFormFiller.get();
}
CPDFSDK_Document::CPDFSDK_Document(CPDF_Document* pDoc,
CPDFDoc_Environment* pEnv)
- : m_pDoc(pDoc),
- m_pInterForm(nullptr),
- m_pFocusAnnot(nullptr),
- m_pEnv(pEnv),
- m_pOccontent(nullptr),
- m_bChangeMask(FALSE),
- m_bBeingDestroyed(FALSE) {
+ : m_pDoc(pDoc), m_pFocusAnnot(nullptr), m_pEnv(pEnv), m_bChangeMask(FALSE) {
}
CPDFSDK_Document::~CPDFSDK_Document() {
@@ -421,12 +401,6 @@ CPDFSDK_Document::~CPDFSDK_Document() {
for (auto& it : m_pageMap)
delete it.second;
m_pageMap.clear();
-
- delete m_pInterForm;
- m_pInterForm = nullptr;
-
- delete m_pOccontent;
- m_pOccontent = nullptr;
}
CPDFSDK_PageView* CPDFSDK_Document::GetPageView(CPDF_Page* pPDFPage,
@@ -503,8 +477,8 @@ FX_BOOL CPDFSDK_Document::ProcOpenAction() {
CPDF_OCContext* CPDFSDK_Document::GetOCContext() {
if (!m_pOccontent)
- m_pOccontent = new CPDF_OCContext(m_pDoc);
- return m_pOccontent;
+ m_pOccontent.reset(new CPDF_OCContext(m_pDoc));
+ return m_pOccontent.get();
}
void CPDFSDK_Document::ReMovePageView(CPDF_Page* pPDFPage) {
@@ -530,8 +504,8 @@ CPDF_Page* CPDFSDK_Document::GetPage(int nIndex) {
CPDFSDK_InterForm* CPDFSDK_Document::GetInterForm() {
if (!m_pInterForm)
- m_pInterForm = new CPDFSDK_InterForm(this);
- return m_pInterForm;
+ m_pInterForm.reset(new CPDFSDK_InterForm(this));
+ return m_pInterForm.get();
}
void CPDFSDK_Document::UpdateAllViews(CPDFSDK_PageView* pSender,