diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-09-08 14:03:57 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-09-08 16:36:39 +0200 |
commit | dba61da1bfb7e4d74c723f369d1c017df9707a14 (patch) | |
tree | 04c51f86dc066c710c23423fe178e051b20b49d9 /manual/release-notes.rst | |
parent | 264e25f391f83bcbeb60590f18ff96719b086454 (diff) | |
download | qpdf-dba61da1bfb7e4d74c723f369d1c017df9707a14.tar.zst |
Create a special "destroyed" type rather than using null
When a QPDF is destroyed, changing indirect objects to direct nulls
makes them effectively disappear silently when they sneak into other
places. Instead, we should treat this as an error. Adding a destroyed
object type makes this possible.
Diffstat (limited to 'manual/release-notes.rst')
-rw-r--r-- | manual/release-notes.rst | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/manual/release-notes.rst b/manual/release-notes.rst index 9cf09840..bf6a8301 100644 --- a/manual/release-notes.rst +++ b/manual/release-notes.rst @@ -202,11 +202,13 @@ For a detailed list of changes, please see the file ``replaceKeyAndGetOld``, a ``null`` object if the object was not previously there. - - The method ``QPDFObjectHandle::getOwningQPDF`` now returns a - null pointer (rather than an invalid pointer) if the owning - ``QPDF`` object has been destroyed. This situation should - generally not happen for correct code, but at least the - situation is detectible now. + - It is now possible to detect when a ``QPDFObjectHandle`` is an + indirect object that belongs to a ``QPDF`` that has been + destroyed. Any attempt to unparse this type of + ``QPDFObjectHandle`` will throw a logic error. You can detect + this by calling the new ``QPDFObjectHandle::isDestroyed`` + method. Also the ``QPDFObjectHandle::getOwningQPDF`` method now + returns a null pointer rather than an invalid pointer. - The method ``QPDFObjectHandle::getQPDF`` returns a ``QPDF&`` (rather than a ``QPDF*``) and is an alternative to |