From 2d0885bc119af035ab2df4d8c19000408223ae7f Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 28 Jan 2019 21:53:55 -0500 Subject: Clarify documentation for copyForeignObject regarding pages Make explicit that copyForeignObject can be used on page objects and will copy them properly but not update the pages tree. --- libqpdf/QPDF.cc | 10 +++++++--- libqpdf/QPDF_pages.cc | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'libqpdf') diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 0dbce669..f49c0216 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -2141,14 +2141,18 @@ QPDF::replaceReserved(QPDFObjectHandle reserved, } QPDFObjectHandle -QPDF::copyForeignObject(QPDFObjectHandle foreign) +QPDF::copyForeignObject(QPDFObjectHandle foreign, bool) { - return copyForeignObject(foreign, false); + // This method will be removed next time the ABI is changed. + return copyForeignObject(foreign); } QPDFObjectHandle -QPDF::copyForeignObject(QPDFObjectHandle foreign, bool allow_page) +QPDF::copyForeignObject(QPDFObjectHandle foreign) { + // Do not preclude use of copyForeignObject on page objects. It is + // a documented use case to copy pages this way if the intention + // is to not update the pages tree. if (! foreign.isIndirect()) { QTC::TC("qpdf", "QPDF copyForeign direct"); diff --git a/libqpdf/QPDF_pages.cc b/libqpdf/QPDF_pages.cc index 7b6b369e..397c175a 100644 --- a/libqpdf/QPDF_pages.cc +++ b/libqpdf/QPDF_pages.cc @@ -221,7 +221,7 @@ QPDF::insertPage(QPDFObjectHandle newpage, int pos) { QTC::TC("qpdf", "QPDF insert foreign page"); newpage.getOwningQPDF()->pushInheritedAttributesToPage(); - newpage = copyForeignObject(newpage, true); + newpage = copyForeignObject(newpage); } else { -- cgit v1.2.3-54-g00ecf