summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fpdfsdk/include/fsdk_mgr.h14
-rw-r--r--fpdfsdk/src/fsdk_mgr.cpp47
2 files changed, 19 insertions, 42 deletions
diff --git a/fpdfsdk/include/fsdk_mgr.h b/fpdfsdk/include/fsdk_mgr.h
index 85a04c6eec..bfbbd63ac0 100644
--- a/fpdfsdk/include/fsdk_mgr.h
+++ b/fpdfsdk/include/fsdk_mgr.h
@@ -451,7 +451,7 @@ class CPDFDoc_Environment final {
CPDFSDK_Document* GetSDKDocument() const { return m_pSDKDoc; }
CPDFXFA_Document* GetPDFXFADocument() const { return m_pXFADoc; }
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.
@@ -460,14 +460,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;
CPDFXFA_Document* const m_pXFADoc;
- 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 {
@@ -523,10 +523,10 @@ class CPDFSDK_Document {
private:
std::map<CPDFXFA_Page*, CPDFSDK_PageView*> m_pageMap;
CPDFXFA_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 9bd403d8c3..d7c0e141ca 100644
--- a/fpdfsdk/src/fsdk_mgr.cpp
+++ b/fpdfsdk/src/fsdk_mgr.cpp
@@ -211,31 +211,16 @@ FX_SYSTEMTIME CFX_SystemHandler::GetLocalTime() {
CPDFDoc_Environment::CPDFDoc_Environment(CPDFXFA_Document* pDoc,
FPDF_FORMFILLINFO* pFFinfo)
- : m_pAnnotHandlerMgr(NULL),
- m_pActionHandler(NULL),
- m_pInfo(pFFinfo),
+ : m_pInfo(pFFinfo),
m_pSDKDoc(NULL),
m_pXFADoc(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;
-
CPDFXFA_App* pProvider = CPDFXFA_App::GetInstance();
if (pProvider->m_pEnvList.GetSize() == 0)
pProvider->SetJavaScriptInitialized(FALSE);
-
- 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,
@@ -390,29 +375,27 @@ 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(CPDFXFA_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) {
}
@@ -426,12 +409,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(CPDFXFA_Page* pPDFXFAPage,
@@ -508,8 +485,8 @@ FX_BOOL CPDFSDK_Document::ProcOpenAction() {
CPDF_OCContext* CPDFSDK_Document::GetOCContext() {
if (!m_pOccontent)
- m_pOccontent = new CPDF_OCContext(m_pDoc->GetPDFDoc());
- return m_pOccontent;
+ m_pOccontent.reset(new CPDF_OCContext(m_pDoc->GetPDFDoc()));
+ return m_pOccontent.get();
}
void CPDFSDK_Document::ReMovePageView(CPDFXFA_Page* pPDFXFAPage) {
@@ -535,8 +512,8 @@ CPDFXFA_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,