2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-09-28 04:59:05 +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,20 +217,14 @@ 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();
auto og = field.getObjectHandle().getObjGen();
if (!added.count(og)) {
added.insert(og);
if (field.getObjectHandle().isDictionary()) {
result.push_back(field); result.push_back(field);
} }
} }
}
return result; return result;
} }