diff options
author | Lei Zhang <thestig@chromium.org> | 2016-01-06 14:58:14 -0800 |
---|---|---|
committer | Lei Zhang <thestig@chromium.org> | 2016-01-06 14:58:14 -0800 |
commit | ab5537db5f9f52f19dea03850512fd6b10bdcd84 (patch) | |
tree | a7da1e232e8abb9a0593c28fad91a34edf910147 /fpdfsdk/src/formfiller | |
parent | 0aa3531a87dde44ffd90416f6d621b1828edaf22 (diff) | |
download | pdfium-ab5537db5f9f52f19dea03850512fd6b10bdcd84.tar.xz |
Invalidate IPWL_FocusHandler and IPWL_Provider on destruction.
BUG=572871
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1564773003 .
(cherry picked from commit dcac57bc8b64fdc870d79d11a498ae7021cf8ae7)
Review URL: https://codereview.chromium.org/1569663002 .
Diffstat (limited to 'fpdfsdk/src/formfiller')
-rw-r--r-- | fpdfsdk/src/formfiller/FFL_ComboBox.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/src/formfiller/FFL_FormFiller.cpp | 3 | ||||
-rw-r--r-- | fpdfsdk/src/formfiller/FFL_TextField.cpp | 2 |
3 files changed, 6 insertions, 1 deletions
diff --git a/fpdfsdk/src/formfiller/FFL_ComboBox.cpp b/fpdfsdk/src/formfiller/FFL_ComboBox.cpp index 49d76bb265..5e88a5d133 100644 --- a/fpdfsdk/src/formfiller/FFL_ComboBox.cpp +++ b/fpdfsdk/src/formfiller/FFL_ComboBox.cpp @@ -21,6 +21,8 @@ CFFL_ComboBox::CFFL_ComboBox(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot) } CFFL_ComboBox::~CFFL_ComboBox() { + for (const auto& it : m_Maps) + it.second->InvalidateFocusHandler(this); delete m_pFontMap; } diff --git a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp index 2e73b491c9..ce73f7d4cb 100644 --- a/fpdfsdk/src/formfiller/FFL_FormFiller.cpp +++ b/fpdfsdk/src/formfiller/FFL_FormFiller.cpp @@ -24,9 +24,10 @@ CFFL_FormFiller::CFFL_FormFiller(CPDFDoc_Environment* pApp, } CFFL_FormFiller::~CFFL_FormFiller() { - for (auto& it : m_Maps) { + for (const auto& it : m_Maps) { CPWL_Wnd* pWnd = it.second; CFFL_PrivateData* pData = (CFFL_PrivateData*)pWnd->GetAttachedData(); + pWnd->InvalidateProvider(this); pWnd->Destroy(); delete pWnd; delete pData; diff --git a/fpdfsdk/src/formfiller/FFL_TextField.cpp b/fpdfsdk/src/formfiller/FFL_TextField.cpp index 8d39b82dd5..ca4e07be4d 100644 --- a/fpdfsdk/src/formfiller/FFL_TextField.cpp +++ b/fpdfsdk/src/formfiller/FFL_TextField.cpp @@ -16,6 +16,8 @@ CFFL_TextField::CFFL_TextField(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot) } CFFL_TextField::~CFFL_TextField() { + for (const auto& it : m_Maps) + it.second->InvalidateFocusHandler(this); delete m_pFontMap; } |