diff options
author | m-holger <m-holger@kubitscheck.org> | 2023-01-05 15:51:54 +0100 |
---|---|---|
committer | m-holger <m-holger@kubitscheck.org> | 2023-05-19 17:58:43 +0200 |
commit | d395a90904f6f30fdf76dae0eb5219c1c832813c (patch) | |
tree | 8d57cef518d445b27ba71f8f0778df1b885441a9 /libqpdf/QPDFAcroFormDocumentHelper.cc | |
parent | 5b3b135fda353379a508088a9931ebb24b68d53d (diff) | |
download | qpdf-d395a90904f6f30fdf76dae0eb5219c1c832813c.tar.zst |
Use QPDFObjGen::set in QPDFAcroFormDocumentHelper::getFormFieldsForPage
Diffstat (limited to 'libqpdf/QPDFAcroFormDocumentHelper.cc')
-rw-r--r-- | libqpdf/QPDFAcroFormDocumentHelper.cc | 16 |
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; |