| Index: fpdfsdk/fpdfxfa/cpdfxfa_document.cpp
|
| diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp
|
| index e49cfde8c4892b6a423b94fd27570a86ebe54401..121d0604534a418a2829423a0d01f75ccab94b8e 100644
|
| --- a/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp
|
| +++ b/fpdfsdk/fpdfxfa/cpdfxfa_document.cpp
|
| @@ -33,6 +33,7 @@ CPDFXFA_Document::CPDFXFA_Document(std::unique_ptr<CPDF_Document> pPDFDoc,
|
| CPDFXFA_App* pProvider)
|
| : m_iDocType(DOCTYPE_PDF),
|
| m_pPDFDoc(std::move(pPDFDoc)),
|
| + m_pSDKDoc(nullptr),
|
| m_pXFADocView(nullptr),
|
| m_pApp(pProvider),
|
| m_nLoadStatus(FXFA_LOADSTATUS_PRELOAD),
|
| @@ -42,6 +43,11 @@ CPDFXFA_Document::CPDFXFA_Document(std::unique_ptr<CPDF_Document> pPDFDoc,
|
| CPDFXFA_Document::~CPDFXFA_Document() {
|
| m_nLoadStatus = FXFA_LOADSTATUS_CLOSING;
|
|
|
| + if (m_pSDKDoc) {
|
| + m_pSDKDoc->ClearAllFocusedAnnots();
|
| + m_pSDKDoc = nullptr;
|
| + }
|
| +
|
| if (m_pXFADoc) {
|
| CXFA_FFApp* pApp = m_pApp->GetXFAApp();
|
| if (pApp) {
|
| @@ -191,10 +197,6 @@ void CPDFXFA_Document::RemovePage(CPDFXFA_Page* page) {
|
| m_XFAPageList.SetAt(page->GetPageIndex(), nullptr);
|
| }
|
|
|
| -void CPDFXFA_Document::SetSDKDoc(std::unique_ptr<CPDFSDK_Document> pSDKDoc) {
|
| - m_pSDKDoc.reset(pSDKDoc.release());
|
| -}
|
| -
|
| void CPDFXFA_Document::ClearChangeMark() {
|
| if (m_pSDKDoc)
|
| m_pSDKDoc->ClearChangeMark();
|
|
|