mirror of
https://github.com/qpdf/qpdf.git
synced 2025-02-02 11:58:25 +00:00
Make QPDFObject::releaseResolved public
Now that QPDFObject.hh is out of the public API, we don't really need QPDFObjAccessor. Also, the function didn't have to be virtual anymore.
This commit is contained in:
parent
c510c01568
commit
6d62662e2d
@ -259,7 +259,7 @@ QPDF::~QPDF()
|
||||
// made to any of the objects.
|
||||
this->m->xref_table.clear();
|
||||
for (auto const& iter: this->m->obj_cache) {
|
||||
QPDFObject::ObjAccessor::releaseResolved(iter.second.object.get());
|
||||
iter.second.object->releaseResolved();
|
||||
iter.second.object->resetObjGen();
|
||||
}
|
||||
}
|
||||
|
@ -243,12 +243,12 @@ QPDFObjectHandle::releaseResolved()
|
||||
// Do not cross over indirect object boundaries to avoid an
|
||||
// infinite loop. This method may only be called during final
|
||||
// destruction. See comments in QPDF::~QPDF().
|
||||
if (isIndirect()) {
|
||||
if (this->obj.get()) {
|
||||
if (this->obj.get()) {
|
||||
if (isIndirect()) {
|
||||
this->obj = nullptr;
|
||||
} else {
|
||||
this->obj->releaseResolved();
|
||||
}
|
||||
} else {
|
||||
QPDFObject::ObjAccessor::releaseResolved(this->obj.get());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -138,26 +138,7 @@ class QPDFObject
|
||||
return dynamic_cast<T*>(value.get());
|
||||
}
|
||||
|
||||
// Accessor to give specific access to non-public methods
|
||||
class ObjAccessor
|
||||
{
|
||||
friend class QPDF;
|
||||
friend class QPDFObjectHandle;
|
||||
|
||||
private:
|
||||
static void
|
||||
releaseResolved(QPDFObject* o)
|
||||
{
|
||||
if (o) {
|
||||
o->releaseResolved();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
friend class ObjAccessor;
|
||||
|
||||
protected:
|
||||
virtual void
|
||||
void
|
||||
releaseResolved()
|
||||
{
|
||||
value->releaseResolved();
|
||||
|
Loading…
x
Reference in New Issue
Block a user