From 8a9cfd2605dc6754d92b7b0ab849e082b77a78ae Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 29 Jan 2019 17:01:36 -0500 Subject: Handle direct page objects (fixes #164) --- libqpdf/QPDF_pages.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'libqpdf/QPDF_pages.cc') 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. -- cgit v1.2.3-54-g00ecf