summaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
Diffstat (limited to 'public')
-rw-r--r--public/cpp/fpdf_deleters.h6
-rw-r--r--public/cpp/fpdf_scopers.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/public/cpp/fpdf_deleters.h b/public/cpp/fpdf_deleters.h
index 51e7cba7f8..d9d95cda3b 100644
--- a/public/cpp/fpdf_deleters.h
+++ b/public/cpp/fpdf_deleters.h
@@ -45,6 +45,12 @@ struct FPDFPageDeleter {
inline void operator()(FPDF_PAGE page) { FPDF_ClosePage(page); }
};
+struct FPDFPageLinkDeleter {
+ inline void operator()(FPDF_PAGELINK pagelink) {
+ FPDFLink_CloseWebLinks(pagelink);
+ }
+};
+
struct FPDFStructTreeDeleter {
inline void operator()(FPDF_STRUCTTREE tree) { FPDF_StructTree_Close(tree); }
};
diff --git a/public/cpp/fpdf_scopers.h b/public/cpp/fpdf_scopers.h
index 1898ac887d..3601f47344 100644
--- a/public/cpp/fpdf_scopers.h
+++ b/public/cpp/fpdf_scopers.h
@@ -44,6 +44,10 @@ using ScopedFPDFTextPage =
using ScopedFPDFPage =
std::unique_ptr<std::remove_pointer<FPDF_PAGE>::type, FPDFPageDeleter>;
+using ScopedFPDFPageLink =
+ std::unique_ptr<std::remove_pointer<FPDF_PAGELINK>::type,
+ FPDFPageLinkDeleter>;
+
using ScopedFPDFStructTree =
std::unique_ptr<std::remove_pointer<FPDF_STRUCTTREE>::type,
FPDFStructTreeDeleter>;