From 9c86ba40d80ee3b58801dfe77e47fbc5a9dd6066 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sun, 4 Sep 2022 00:58:53 +0100 Subject: Fix commit 805c1ad : Reset QPDFValue::qpdf and QPDFValue::og when ... On destruction of the QPDF object replace all indirect object references with direct nulls. Remove all existing code to release resolved references. Fixes performance issue due to interaction of resetting QPDFValue::qpdf and og members and prior code. --- include/qpdf/QPDFObjectHandle.hh | 19 ------------------- 1 file changed, 19 deletions(-) (limited to 'include') diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index 058c11f3..8f1858a1 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -1500,23 +1500,6 @@ class QPDFObjectHandle }; friend class ObjAccessor; - // Provide access to specific classes for recursive - // releaseResolved(). - class ReleaseResolver - { - friend class QPDF_Dictionary; - friend class QPDF_Stream; - friend class SparseOHArray; - - private: - static void - releaseResolved(QPDFObjectHandle& o) - { - o.releaseResolved(); - } - }; - friend class ReleaseResolver; - // Convenience routine: Throws if the assumption is violated. Your // code will be better if you call one of the isType methods and // handle the case of the type being wrong, but these can be @@ -1614,8 +1597,6 @@ class QPDFObjectHandle bool first_level_only, bool stop_at_streams); void shallowCopyInternal(QPDFObjectHandle& oh, bool first_level_only); - void releaseResolved(); - void setParsedOffset(qpdf_offset_t offset); void parseContentStream_internal( std::string const& description, ParserCallbacks* callbacks); -- cgit v1.2.3-54-g00ecf