From 15269f36d8b7ca17f52b98d9e0f18c6eec102b7b Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 21 Feb 2021 05:46:12 -0500 Subject: addFormField: update cache rather than invalidating --- libqpdf/QPDFAcroFormDocumentHelper.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libqpdf/QPDFAcroFormDocumentHelper.cc') diff --git a/libqpdf/QPDFAcroFormDocumentHelper.cc b/libqpdf/QPDFAcroFormDocumentHelper.cc index 9f800a8e..cf3cb161 100644 --- a/libqpdf/QPDFAcroFormDocumentHelper.cc +++ b/libqpdf/QPDFAcroFormDocumentHelper.cc @@ -35,7 +35,6 @@ QPDFAcroFormDocumentHelper::hasAcroForm() void QPDFAcroFormDocumentHelper::addFormField(QPDFFormFieldObjectHelper ff) { - invalidateCache(); auto acroform = this->qpdf.getRoot().getKey("/AcroForm"); if (! acroform.isDictionary()) { @@ -50,6 +49,9 @@ QPDFAcroFormDocumentHelper::addFormField(QPDFFormFieldObjectHelper ff) acroform.replaceKey("/Fields", fields); } fields.appendItem(ff.getObjectHandle()); + std::set visited; + traverseField( + ff.getObjectHandle(), QPDFObjectHandle::newNull(), 0, visited); } std::vector -- cgit v1.2.3-54-g00ecf