diff options
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 10 | ||||
-rw-r--r-- | libqpdf/QPDFObjectHandle.cc | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index 39043048..553c1a41 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -1926,12 +1926,12 @@ QPDF::readObjectAtOffset( return oh; } -std::shared_ptr<QPDFObject> +void QPDF::resolve(QPDFObjGen const& og) { if (isCached(og) && !isUnresolved(og)) { // We only need to resolve unresolved objects - return m->obj_cache[og].object; + return; } // Check object cache before checking xref table. This allows us @@ -1947,9 +1947,8 @@ QPDF::resolve(QPDFObjGen const& og) "", this->m->file->getLastOffset(), ("loop detected resolving object " + og.unparse(' '))); - updateCache(og, QPDF_Null::create(), -1, -1); - return m->obj_cache[og].object; + return; } ResolveRecorder rr(this, og); @@ -1998,11 +1997,10 @@ QPDF::resolve(QPDFObjGen const& og) updateCache(og, QPDF_Null::create(), -1, -1); } - std::shared_ptr<QPDFObject> result(this->m->obj_cache[og].object); + auto result(this->m->obj_cache[og].object); if (!result->hasDescription()) { result->setDescription(this, ("object " + og.unparse(' '))); } - return result; } void diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index d4a75fae..8a38352f 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -2596,7 +2596,7 @@ QPDFObjectHandle::dereference() return false; } if (this->obj->isUnresolved()) { - this->obj = QPDF::Resolver::resolve(this->qpdf, getObjGen()); + QPDF::Resolver::resolve(this->qpdf, getObjGen()); } return true; } |