diff options
author | Jay Berkenbilt <ejb@ql.org> | 2012-07-11 21:29:41 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2012-07-11 21:54:33 +0200 |
commit | e7b8f297ba92f4cadf88efcb394830dc24d54738 (patch) | |
tree | 4bc25b3928545d81c4b8029fab389af8bccfdbc5 /libqpdf/QPDF_pages.cc | |
parent | 8a217eb3a26931453b4f003c6c18ad8569230cf1 (diff) | |
download | qpdf-e7b8f297ba92f4cadf88efcb394830dc24d54738.tar.zst |
Support copying objects from another QPDF object
This includes QPDF::copyForeignObject and supporting foreign objects
as arguments to addPage*.
Diffstat (limited to 'libqpdf/QPDF_pages.cc')
-rw-r--r-- | libqpdf/QPDF_pages.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libqpdf/QPDF_pages.cc b/libqpdf/QPDF_pages.cc index 818215c4..ddb672a1 100644 --- a/libqpdf/QPDF_pages.cc +++ b/libqpdf/QPDF_pages.cc @@ -89,6 +89,7 @@ QPDF::updateAllPagesCache() QTC::TC("qpdf", "QPDF updateAllPagesCache"); this->all_pages.clear(); this->pageobj_to_pages_pos.clear(); + this->pushed_inherited_attributes_to_pages = false; getAllPages(); } @@ -161,6 +162,12 @@ QPDF::insertPage(QPDFObjectHandle newpage, int pos) QTC::TC("qpdf", "QPDF insert non-indirect page"); newpage = this->makeIndirectObject(newpage); } + else if (newpage.getOwningQPDF() != this) + { + QTC::TC("qpdf", "QPDF insert foreign page"); + newpage.getOwningQPDF()->pushInheritedAttributesToPage(); + newpage = this->copyForeignObject(newpage, true); + } else { QTC::TC("qpdf", "QPDF insert indirect page"); |