diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-01-29 23:01:36 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-01-29 23:01:36 +0100 |
commit | 8a9cfd2605dc6754d92b7b0ab849e082b77a78ae (patch) | |
tree | 99bdd57fcdef95a87871a580c03d1353cab16f5e /libqpdf/QPDF_pages.cc | |
parent | 2d0885bc119af035ab2df4d8c19000408223ae7f (diff) | |
download | qpdf-8a9cfd2605dc6754d92b7b0ab849e082b77a78ae.tar.zst |
Handle direct page objects (fixes #164)
Diffstat (limited to 'libqpdf/QPDF_pages.cc')
-rw-r--r-- | libqpdf/QPDF_pages.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libqpdf/QPDF_pages.cc b/libqpdf/QPDF_pages.cc index 397c175a..01270652 100644 --- a/libqpdf/QPDF_pages.cc +++ b/libqpdf/QPDF_pages.cc @@ -105,7 +105,13 @@ QPDF::getAllPagesInternal3(QPDFObjectHandle cur_pages, for (int i = 0; i < n; ++i) { QPDFObjectHandle kid = kids.getArrayItem(i); - if (seen.count(kid.getObjGen())) + if (! kid.isIndirect()) + { + QTC::TC("qpdf", "QPDF handle direct page object"); + kid = makeIndirectObject(kid); + kids.setArrayItem(i, kid); + } + else if (seen.count(kid.getObjGen())) { // Make a copy of the page. This does the same as // shallowCopyPage in QPDFPageObjectHelper. |