2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-22 03:54:41 +00:00

Use QPDFObjGen::set in QPDFAcroFormDocumentHelper::getFormFieldsForPage

This commit is contained in:
m-holger 2023-01-05 14:51:54 +00:00
parent 5b3b135fda
commit d395a90904

View File

@ -217,18 +217,12 @@ std::vector<QPDFFormFieldObjectHelper>
QPDFAcroFormDocumentHelper::getFormFieldsForPage(QPDFPageObjectHelper ph) QPDFAcroFormDocumentHelper::getFormFieldsForPage(QPDFPageObjectHelper ph)
{ {
analyze(); analyze();
std::set<QPDFObjGen> added; QPDFObjGen::set todo;
std::vector<QPDFFormFieldObjectHelper> result; std::vector<QPDFFormFieldObjectHelper> result;
auto widget_annotations = getWidgetAnnotationsForPage(ph); for (auto& annot: getWidgetAnnotationsForPage(ph)) {
for (auto annot: widget_annotations) { auto field = getFieldForAnnotation(annot).getTopLevelField();
auto field = getFieldForAnnotation(annot); if (todo.add(field) && field.getObjectHandle().isDictionary()) {
field = field.getTopLevelField(); result.push_back(field);
auto og = field.getObjectHandle().getObjGen();
if (!added.count(og)) {
added.insert(og);
if (field.getObjectHandle().isDictionary()) {
result.push_back(field);
}
} }
} }
return result; return result;