diff --git a/examples/qtest/name-number-tree/out.pdf b/examples/qtest/name-number-tree/out.pdf index 8accb65..5927486 100644 --- a/examples/qtest/name-number-tree/out.pdf +++ b/examples/qtest/name-number-tree/out.pdf @@ -38,10 +38,6 @@ endobj 6 0 R 7 0 R ] - /Limits [ - 7 - 343 - ] >> endobj @@ -177,15 +173,15 @@ xref 0000000052 00000 n 0000000194 00000 n 0000000339 00000 n -0000000462 00000 n -0000000551 00000 n -0000000878 00000 n -0000001233 00000 n +0000000432 00000 n +0000000521 00000 n +0000000848 00000 n +0000001203 00000 n trailer << /Root 1 0 R /Size 8 /ID [<31415926535897932384626433832795><31415926535897932384626433832795>] >> startxref -1581 +1551 %%EOF diff --git a/libqpdf/NNTree.cc b/libqpdf/NNTree.cc index ac06512..fd7d437 100644 --- a/libqpdf/NNTree.cc +++ b/libqpdf/NNTree.cc @@ -203,7 +203,7 @@ NNTreeIterator::resetLimits(QPDFObjectHandle node, std::list::itera changed = false; } } - if (changed) { + if (changed && !node.isSameObjectAs(path.begin()->node)) { node.replaceKey("/Limits", limits); } } else { diff --git a/manual/release-notes.rst b/manual/release-notes.rst index d6bc0c3..11b528e 100644 --- a/manual/release-notes.rst +++ b/manual/release-notes.rst @@ -24,6 +24,12 @@ more detail. - Add missing QPDFFormFieldObjectHelper::isChecked implementation. + - Fix bug in QPDFNameTreeObjectHelper / QPDFNumberTreeObjectHelper. Under + certain conditions tree insertions resulted in a /Range entry being + written to the tree root node, which is not permitted. One of the + possible consequences is that some readers would not recognize + embedded / attached files. + - Build fixes - Fix Android build issues.