aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFObjectHandle.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-09-07 22:49:31 +0200
committerJay Berkenbilt <ejb@ql.org>2022-09-08 16:19:38 +0200
commit264e25f391f83bcbeb60590f18ff96719b086454 (patch)
treead7a6daae5a2350d56a521eb022fea30e799b95c /libqpdf/QPDFObjectHandle.cc
parenta615985865ca73249a7b21e2f28b440cb6c16636 (diff)
downloadqpdf-264e25f391f83bcbeb60590f18ff96719b086454.tar.zst
Clear owning QPDF information for all objects, not just indirect
Diffstat (limited to 'libqpdf/QPDFObjectHandle.cc')
-rw-r--r--libqpdf/QPDFObjectHandle.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index 3d011c1d..fa8aae7f 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -248,6 +248,17 @@ QPDFObjectHandle::operator!=(QPDFObjectHandle const& rhs) const
return this->obj != rhs.obj;
}
+void
+QPDFObjectHandle::reset()
+{
+ // Recursively remove association with any QPDF object. This
+ // method may only be called during final destruction. See
+ // comments in QPDF::~QPDF().
+ if (!isIndirect()) {
+ this->obj->reset();
+ }
+}
+
qpdf_object_type_e
QPDFObjectHandle::getTypeCode()
{