From 54d8c39002a0f8e3925de888226d22f157987a34 Mon Sep 17 00:00:00 2001 From: Jun Fang Date: Tue, 17 Feb 2015 04:52:09 -0800 Subject: Set the view pointer as NULL after its xfa doc is released BUG=452794 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/928803002 --- fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h') diff --git a/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h b/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h index fadded858f..317200c2fa 100644 --- a/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h +++ b/fpdfsdk/include/fpdfxfa/fpdfxfa_doc.h @@ -14,6 +14,7 @@ class CPDFSDK_Document; class CPDFDoc_Environment; class IFXJS_Runtime; class IFXJS_Context; +class IXFA_DocHandler; class CPDFXFA_Document : public IXFA_DocProvider, public CFX_Object { @@ -22,7 +23,6 @@ public: ~CPDFXFA_Document(); FX_BOOL LoadXFADoc(); - void CloseXFADoc(); CPDFXFA_App* GetApp() {return m_pApp;} CPDF_Document* GetPDFDoc() { return m_pPDFDoc; } XFA_HDOC GetXFADoc() { return m_pXFADoc; } @@ -128,6 +128,15 @@ public: void _ClearChangeMark(); private: + void CloseXFADoc(IXFA_DocHandler* pDoc) { + if (pDoc) { + pDoc->CloseDoc(m_pXFADoc); + pDoc->ReleaseDoc(m_pXFADoc); + m_pXFADoc = NULL; + m_pXFADocView = NULL; + } + } + CPDF_Document* m_pPDFDoc; XFA_HDOC m_pXFADoc; IXFA_DocView* m_pXFADocView; -- cgit v1.2.3