From ab5537db5f9f52f19dea03850512fd6b10bdcd84 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Wed, 6 Jan 2016 14:58:14 -0800 Subject: 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 . --- fpdfsdk/src/pdfwindow/PWL_Wnd.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'fpdfsdk/src/pdfwindow') diff --git a/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp b/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp index 9c4e21713b..5bedad127a 100644 --- a/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp +++ b/fpdfsdk/src/pdfwindow/PWL_Wnd.cpp @@ -237,6 +237,16 @@ void CPWL_Wnd::OnCreated() {} void CPWL_Wnd::OnDestroy() {} +void CPWL_Wnd::InvalidateFocusHandler(IPWL_FocusHandler* handler) { + if (m_sPrivateParam.pFocusHandler == handler) + m_sPrivateParam.pFocusHandler = nullptr; +} + +void CPWL_Wnd::InvalidateProvider(IPWL_Provider* provider) { + if (m_sPrivateParam.pProvider == provider) + m_sPrivateParam.pProvider = nullptr; +} + void CPWL_Wnd::Destroy() { KillFocus(); -- cgit v1.2.3