Index: fpdfsdk/src/fsdk_mgr.cpp |
diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp |
index 6d656a0c1488da251db08425b4798afaf8b0f554..56f8204ce92d2ee821b4fdc75ae758d9cf67ea11 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); |