From fa2516df712aa59eb414933a912d30bb6fa1606e Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Fri, 26 Feb 2021 14:47:52 -0500 Subject: Fix behavior for finding /Q, /DA, and /DR for form fields If not found in the field hierarchy, /Q and /DA are supposed to be looked up in the document-level form dictionary. /DR is supposed to only come from the document dictionary. --- ChangeLog | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index a8775f57..88e72b76 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2021-02-26 Jay Berkenbilt + + * Bug fix: QPDFFormFieldObjectHelper was mis-handling /DA, /Q, and + /DR in ways that usually didn't matter but were still wrong. /DA + and /Q were being found in the field hierarchy, but if not found, + the default values in the /AcroForm dictionary were not being + used. /DR was being treated as an inherited field in the field + dictionary, which is wrong. It is actually supposed to come from + the /AcroForm dictionary. We were getting away with this since + many popular form writers seem to copy it to the field as well, + even though the spec makes no mention of doing this. To support + this, QPDFFormFieldObjectHelper::getDefaultResources was added. + 2021-02-25 Jay Berkenbilt * Update StreamDataProvider examples to use copyStream() when they -- cgit v1.2.3-54-g00ecf