aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF_pages.cc
diff options
context:
space:
mode:
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.