diff options
author | Jay Berkenbilt <ejb@ql.org> | 2017-08-28 23:05:34 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2017-08-29 04:16:31 +0200 |
commit | c6872d2c700a9d27105debe93662ecaaf8beb3bd (patch) | |
tree | e1e4384f22c6823e470da4286140bea7cd0a272d /libqpdf | |
parent | c16aa1aca7c56de4bd54976dab7edf600c8c1e29 (diff) | |
download | qpdf-c6872d2c700a9d27105debe93662ecaaf8beb3bd.tar.zst |
Clean up circular references in QPDF_Stream
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF_Stream.cc | 7 | ||||
-rw-r--r-- | libqpdf/qpdf/QPDF_Stream.hh | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc index bcf9be92..27c6b477 100644 --- a/libqpdf/QPDF_Stream.cc +++ b/libqpdf/QPDF_Stream.cc @@ -45,6 +45,13 @@ QPDF_Stream::~QPDF_Stream() } void +QPDF_Stream::releaseResolved() +{ + this->stream_provider = 0; + QPDFObjectHandle::ReleaseResolver::releaseResolved(this->stream_dict); +} + +void QPDF_Stream::setObjGen(int objid, int generation) { if (! ((this->objid == 0) && (this->generation == 0))) diff --git a/libqpdf/qpdf/QPDF_Stream.hh b/libqpdf/qpdf/QPDF_Stream.hh index 8b960f00..a2bd5d61 100644 --- a/libqpdf/qpdf/QPDF_Stream.hh +++ b/libqpdf/qpdf/QPDF_Stream.hh @@ -43,6 +43,9 @@ class QPDF_Stream: public QPDFObject // when adding streams to files. void setObjGen(int objid, int generation); + protected: + virtual void releaseResolved(); + private: static std::map<std::string, std::string> filter_abbreviations; |