summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-04-06 18:14:27 +0200
committerJay Berkenbilt <ejb@ql.org>2020-04-06 18:14:27 +0200
commit892937cbbeeef612da9e8b8a4b5ba145fc1e6caa (patch)
treeff3992baaa2789de7466dc8db1e1d902b8068177
parent1e629c278a8953d4262235830ecb1456086210f8 (diff)
downloadqpdf-892937cbbeeef612da9e8b8a4b5ba145fc1e6caa.tar.zst
Fix errors in --remove-unreferenced-resources=autorelease-qpdf-10.0.0
-rw-r--r--qpdf/qpdf.cc6
-rw-r--r--qpdf/qtest/qpdf/shared-form-images-xobject.pdfbin9793 -> 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
index b8c5ead1..ce187f15 100644
--- a/qpdf/qtest/qpdf/shared-form-images-xobject.pdf
+++ b/qpdf/qtest/qpdf/shared-form-images-xobject.pdf
Binary files differ