Chromium Code Reviews| Index: fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp |
| diff --git a/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp b/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp |
| index d37038d2af6ef580edbcfacb16bf9671a50a7385..7c2bbf0aea34414cdd757b3ccc1310b3a3965c29 100644 |
| --- a/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp |
| +++ b/fpdfsdk/src/fpdfxfa/fpdfxfa_doc.cpp |
| @@ -45,28 +45,26 @@ CPDFXFA_Document::CPDFXFA_Document(CPDF_Document* pPDFDoc, |
| } |
| CPDFXFA_Document::~CPDFXFA_Document() { |
| - if (m_pJSContext && m_pSDKDoc && m_pSDKDoc->GetEnv()) |
| - m_pSDKDoc->GetEnv()->GetJSRuntime()->ReleaseContext(m_pJSContext); |
| - |
| - delete m_pSDKDoc; |
| - |
| - if (m_pPDFDoc) { |
| - CPDF_Parser* pParser = m_pPDFDoc->GetParser(); |
| - if (pParser) |
| - delete pParser; |
| - else |
| - delete m_pPDFDoc; |
| - } |
| if (m_pXFADoc) { |
| IXFA_App* pApp = m_pApp->GetXFAApp(); |
| if (pApp) { |
| IXFA_DocHandler* pDocHandler = pApp->GetDocHandler(); |
| - if (pDocHandler) { |
| + if (pDocHandler) |
| CloseXFADoc(pDocHandler); |
| - } |
| } |
| delete m_pXFADoc; |
| + m_pXFADoc = nullptr; |
| } |
| + if (m_pPDFDoc) { |
| + CPDF_Parser* pParser = m_pPDFDoc->GetParser(); |
| + if (pParser) |
| + delete pParser; |
| + else |
| + delete m_pPDFDoc; |
| + } |
| + if (m_pJSContext && m_pSDKDoc && m_pSDKDoc->GetEnv()) |
| + m_pSDKDoc->GetEnv()->GetJSRuntime()->ReleaseContext(m_pJSContext); |
| + delete m_pSDKDoc; |
| } |
| FX_BOOL CPDFXFA_Document::LoadXFADoc() { |
| @@ -487,7 +485,6 @@ void CPDFXFA_Document::PageViewEvent(IXFA_PageView* pPageView, |
| if (!pPage) |
| return; |
| pPage->SetXFAPageView(nullptr); |
| - m_pSDKDoc->GetPageView(pPage)->ClearFXAnnots(); |
|
jun_fang
2016/02/01 09:54:29
When a XFA page is deleted, it doesn't need to cle
|
| } |
| void CPDFXFA_Document::WidgetEvent(IXFA_Widget* hWidget, |