Chromium Code Reviews| Index: fpdfsdk/cpdfsdk_formfillenvironment.cpp |
| diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp |
| index 5b05d0812867168ed3b9eed089c64adec1431696..6ea33c00a1cf66d6eb6590a2cdda4d3a05a1bb30 100644 |
| --- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp |
| +++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp |
| @@ -39,6 +39,16 @@ CPDFSDK_FormFillEnvironment::CPDFSDK_FormFillEnvironment( |
| m_pSysHandler(new CFX_SystemHandler(this)) {} |
| CPDFSDK_FormFillEnvironment::~CPDFSDK_FormFillEnvironment() { |
| + // CPDFSDK_AnnotHandlerMgr will try to access the form fill environment |
| + // when it cleans up the CFFL_InteractiveFormFiller. So, we must make sure |
| + // it is cleaned up before the CFFL_InteractiveFormFiller. |
|
Lei Zhang
2016/10/11 20:54:52
Refer to |m_pFormFiller| explicitly here?
dsinclair
2016/10/11 21:01:59
Done.
|
| + m_pAnnotHandlerMgr.reset(); |
| + |
| + // Must destroy the |CFFL_InteractiveFormFiller| before the environment |
|
Lei Zhang
2016/10/11 20:54:52
|m_pFormFiller|
dsinclair
2016/10/11 21:01:59
Done.
|
| + // because any created form widgets hold a pointer to the environment. |
| + // Those widgets may call things like |KillTimer| as they are shutdown. |
|
Lei Zhang
2016/10/11 20:54:52
KillTimer() and no double space after.
dsinclair
2016/10/11 21:01:59
Done.
|
| + m_pFormFiller.reset(); |
| + |
| #ifdef PDF_ENABLE_XFA |
| CPDFXFA_App* pProvider = CPDFXFA_App::GetInstance(); |
| if (pProvider->m_pEnvList.GetSize() == 0) |