Use unique ptrs to free all varieties of annots.
Remove a few more bare |delete| calls.
Change-Id: I3497542608fda9390562ebea0572e18a4a18393b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/53410
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_annothandlermgr.cpp b/fpdfsdk/cpdfsdk_annothandlermgr.cpp
index 0061eb5..b40014d 100644
--- a/fpdfsdk/cpdfsdk_annothandlermgr.cpp
+++ b/fpdfsdk/cpdfsdk_annothandlermgr.cpp
@@ -6,6 +6,8 @@
#include "fpdfsdk/cpdfsdk_annothandlermgr.h"
+#include <utility>
+
#include "core/fpdfapi/parser/cpdf_number.h"
#include "core/fpdfapi/parser/cpdf_string.h"
#include "core/fpdfdoc/cpdf_annot.h"
@@ -58,9 +60,10 @@
}
#endif // PDF_ENABLE_XFA
-void CPDFSDK_AnnotHandlerMgr::ReleaseAnnot(CPDFSDK_Annot* pAnnot) {
- IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot);
- pAnnotHandler->ReleaseAnnot(pAnnot);
+void CPDFSDK_AnnotHandlerMgr::ReleaseAnnot(
+ std::unique_ptr<CPDFSDK_Annot> pAnnot) {
+ IPDFSDK_AnnotHandler* pAnnotHandler = GetAnnotHandler(pAnnot.get());
+ pAnnotHandler->ReleaseAnnot(std::move(pAnnot));
}
void CPDFSDK_AnnotHandlerMgr::Annot_OnLoad(CPDFSDK_Annot* pAnnot) {