From 752395430376536487352815e6107c32dac7d69e Mon Sep 17 00:00:00 2001 From: Jun Fang Date: Wed, 20 Jan 2016 08:04:47 +0800 Subject: Fix crashing in CPDFXFA_Document::GetPage() BUG=pdfium:332 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1539193003 . --- fpdfsdk/src/fsdk_mgr.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'fpdfsdk/src/fsdk_mgr.cpp') diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp index 6d656a0c14..56f8204ce9 100644 --- a/fpdfsdk/src/fsdk_mgr.cpp +++ b/fpdfsdk/src/fsdk_mgr.cpp @@ -1118,6 +1118,18 @@ void CPDFSDK_PageView::LoadFXAnnots() { SetLock(FALSE); } +void CPDFSDK_PageView::ClearFXAnnots() { + SetLock(TRUE); + if (m_pSDKDoc && GetFocusAnnot()) + m_pSDKDoc->SetFocusAnnot(nullptr); + m_CaptureWidget = nullptr; + for (CPDFSDK_Annot* pAnnot : m_fxAnnotArray) + m_pSDKDoc->GetEnv()->GetAnnotHandlerMgr()->ReleaseAnnot(pAnnot); + m_fxAnnotArray.clear(); + m_pAnnotList.reset(); + SetLock(FALSE); +} + void CPDFSDK_PageView::UpdateRects(CFX_RectArray& rects) { for (int i = 0; i < rects.GetSize(); i++) { CPDF_Rect rc = rects.GetAt(i); -- cgit v1.2.3