aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF_pages.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-01-29 23:01:36 +0100
committerJay Berkenbilt <ejb@ql.org>2019-01-29 23:01:36 +0100
commit8a9cfd2605dc6754d92b7b0ab849e082b77a78ae (patch)
tree99bdd57fcdef95a87871a580c03d1353cab16f5e /libqpdf/QPDF_pages.cc
parent2d0885bc119af035ab2df4d8c19000408223ae7f (diff)
downloadqpdf-8a9cfd2605dc6754d92b7b0ab849e082b77a78ae.tar.zst
Handle direct page objects (fixes #164)
Diffstat (limited to 'libqpdf/QPDF_pages.cc')
-rw-r--r--libqpdf/QPDF_pages.cc8
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.