aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFAcroFormDocumentHelper.cc
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-01-05 15:51:54 +0100
committerm-holger <m-holger@kubitscheck.org>2023-05-19 17:58:43 +0200
commitd395a90904f6f30fdf76dae0eb5219c1c832813c (patch)
tree8d57cef518d445b27ba71f8f0778df1b885441a9 /libqpdf/QPDFAcroFormDocumentHelper.cc
parent5b3b135fda353379a508088a9931ebb24b68d53d (diff)
downloadqpdf-d395a90904f6f30fdf76dae0eb5219c1c832813c.tar.zst
Use QPDFObjGen::set in QPDFAcroFormDocumentHelper::getFormFieldsForPage
Diffstat (limited to 'libqpdf/QPDFAcroFormDocumentHelper.cc')
-rw-r--r--libqpdf/QPDFAcroFormDocumentHelper.cc16
1 files changed, 5 insertions, 11 deletions
diff --git a/libqpdf/QPDFAcroFormDocumentHelper.cc b/libqpdf/QPDFAcroFormDocumentHelper.cc
index 6a7eca55..9c59055e 100644
--- a/libqpdf/QPDFAcroFormDocumentHelper.cc
+++ b/libqpdf/QPDFAcroFormDocumentHelper.cc
@@ -217,18 +217,12 @@ std::vector<QPDFFormFieldObjectHelper>
QPDFAcroFormDocumentHelper::getFormFieldsForPage(QPDFPageObjectHelper ph)
{
analyze();
- std::set<QPDFObjGen> added;
+ QPDFObjGen::set todo;
std::vector<QPDFFormFieldObjectHelper> result;
- auto widget_annotations = getWidgetAnnotationsForPage(ph);
- for (auto annot: widget_annotations) {
- auto field = getFieldForAnnotation(annot);
- field = field.getTopLevelField();
- auto og = field.getObjectHandle().getObjGen();
- if (!added.count(og)) {
- added.insert(og);
- if (field.getObjectHandle().isDictionary()) {
- result.push_back(field);
- }
+ for (auto& annot: getWidgetAnnotationsForPage(ph)) {
+ auto field = getFieldForAnnotation(annot).getTopLevelField();
+ if (todo.add(field) && field.getObjectHandle().isDictionary()) {
+ result.push_back(field);
}
}
return result;