diff options
author | Jay Berkenbilt <ejb@ql.org> | 2020-04-06 18:14:27 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2020-04-06 18:14:27 +0200 |
commit | 892937cbbeeef612da9e8b8a4b5ba145fc1e6caa (patch) | |
tree | ff3992baaa2789de7466dc8db1e1d902b8068177 | |
parent | 1e629c278a8953d4262235830ecb1456086210f8 (diff) | |
download | qpdf-892937cbbeeef612da9e8b8a4b5ba145fc1e6caa.tar.zst |
Fix errors in --remove-unreferenced-resources=autorelease-qpdf-10.0.0
-rw-r--r-- | qpdf/qpdf.cc | 6 | ||||
-rw-r--r-- | qpdf/qtest/qpdf/shared-form-images-xobject.pdf | bin | 9793 -> 10043 bytes |
2 files changed, 4 insertions, 2 deletions
diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc index 00374387..fd6060e0 100644 --- a/qpdf/qpdf.cc +++ b/qpdf/qpdf.cc @@ -4846,13 +4846,13 @@ static bool should_remove_unreferenced_resources(QPDF& pdf, Options& o) while (! queue.empty()) { QPDFObjectHandle node = *queue.begin(); + queue.pop_front(); QPDFObjGen og = node.getObjGen(); if (nodes_seen.count(og)) { continue; } nodes_seen.insert(og); - queue.pop_front(); QPDFObjectHandle dict = node.isStream() ? node.getDict() : node; QPDFObjectHandle kids = dict.getKey("/Kids"); if (kids.isArray()) @@ -4898,7 +4898,9 @@ static bool should_remove_unreferenced_resources(QPDF& pdf, Options& o) } resources_seen.insert(resources_og); } - QPDFObjectHandle xobject = resources.getKey("/XObject"); + QPDFObjectHandle xobject = (resources.isDictionary() ? + resources.getKey("/XObject") : + QPDFObjectHandle::newNull()); if (xobject.isIndirect()) { QPDFObjGen xobject_og = xobject.getObjGen(); diff --git a/qpdf/qtest/qpdf/shared-form-images-xobject.pdf b/qpdf/qtest/qpdf/shared-form-images-xobject.pdf Binary files differindex b8c5ead1..ce187f15 100644 --- a/qpdf/qtest/qpdf/shared-form-images-xobject.pdf +++ b/qpdf/qtest/qpdf/shared-form-images-xobject.pdf |