diff options
author | m-holger <m-holger@kubitscheck.org> | 2022-02-09 14:54:33 +0100 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-02-11 01:47:37 +0100 |
commit | 4ff837f099c4594fbb95463ebfd6199051d0fa30 (patch) | |
tree | 296c2128eaa97ebcd059c483a461cc16c5534f04 /libqpdf | |
parent | 235c89e037d6d9925cf201cadfa9e0df1771212c (diff) | |
download | qpdf-4ff837f099c4594fbb95463ebfd6199051d0fa30.tar.zst |
Fix tests for Form XObjects
Remove test for type == /XObject in QPDFObjectHandle::isFormXObject
as type value is optional (as per spec 8.10.2).
Replace code to test for /Form in QPDFJob::shouldRemoveUnreferencedResources
with a call to isFormXObject.
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDFJob.cc | 8 | ||||
-rw-r--r-- | libqpdf/QPDFObjectHandle.cc | 2 |
2 files changed, 2 insertions, 8 deletions
diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index e95d08ad..c23b950b 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -2743,13 +2743,7 @@ QPDFJob::shouldRemoveUnreferencedResources(QPDF& pdf) for (auto const& k: xobject.getKeys()) { QPDFObjectHandle xobj = xobject.getKey(k); - if (xobj.isStream() && - xobj.getDict().getKey("/Type").isName() && - ("/XObject" == - xobj.getDict().getKey("/Type").getName()) && - xobj.getDict().getKey("/Subtype").isName() && - ("/Form" == - xobj.getDict().getKey("/Subtype").getName())) + if (xobj.isFormXObject()) { queue.push_back(xobj); } diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index c2917157..745de6c9 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -3406,7 +3406,7 @@ QPDFObjectHandle::isPagesObject() bool QPDFObjectHandle::isFormXObject() { - return isStreamOfType("/XObject", "/Form"); + return isStreamOfType("", "/Form"); } bool |