summaryrefslogtreecommitdiff
path: root/xfa/fxfa/app/xfa_ffdoc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/app/xfa_ffdoc.cpp')
-rw-r--r--xfa/fxfa/app/xfa_ffdoc.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/xfa/fxfa/app/xfa_ffdoc.cpp b/xfa/fxfa/app/xfa_ffdoc.cpp
index 77c3b251a2..f33e4e0585 100644
--- a/xfa/fxfa/app/xfa_ffdoc.cpp
+++ b/xfa/fxfa/app/xfa_ffdoc.cpp
@@ -7,7 +7,6 @@
#include "xfa/fxfa/include/xfa_ffdoc.h"
#include <algorithm>
-#include <memory>
#include "core/fpdfapi/fpdf_parser/include/cpdf_array.h"
#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
@@ -146,11 +145,10 @@ int32_t CXFA_FFDoc::DoLoad(IFX_Pause* pPause) {
if (!OpenDoc(pPDFDocument)) {
return XFA_PARSESTATUS_SyntaxErr;
}
- std::unique_ptr<IXFA_Parser> pParser(
- IXFA_Parser::Create(m_pDocument, TRUE));
- if (!pParser)
+ IXFA_Parser* pParser = IXFA_Parser::Create(m_pDocument, TRUE);
+ if (!pParser) {
return XFA_PARSESTATUS_SyntaxErr;
-
+ }
CXFA_Node* pRootNode = NULL;
if (pParser->StartParse(m_pStream) == XFA_PARSESTATUS_Ready &&
pParser->DoParse(NULL) == XFA_PARSESTATUS_Done) {
@@ -162,6 +160,8 @@ int32_t CXFA_FFDoc::DoLoad(IFX_Pause* pPause) {
} else {
iStatus = XFA_PARSESTATUS_StatusErr;
}
+ pParser->Release();
+ pParser = NULL;
}
return iStatus;
}
@@ -265,7 +265,7 @@ FX_BOOL CXFA_FFDoc::CloseDoc() {
m_TypeToDocViewMap.clear();
if (m_pDocument) {
- m_pDocument->DestroyParser();
+ m_pDocument->GetParser()->Release();
m_pDocument = nullptr;
}