diff options
author | Jay Berkenbilt <ejb@ql.org> | 2021-05-09 13:51:14 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2021-05-09 13:51:14 +0200 |
commit | 3cacb27a90cf332e7e978e925bb615c17f567ee3 (patch) | |
tree | 2f8f0812ecb7338acbd3945fc0d3ab881a676da5 /libqpdf/QPDFWriter.cc | |
parent | bddebdb0eace5641d69230820df3dd4733a99386 (diff) | |
download | qpdf-3cacb27a90cf332e7e978e925bb615c17f567ee3.tar.zst |
Performance fix on preserveObjectStreams
Diffstat (limited to 'libqpdf/QPDFWriter.cc')
-rw-r--r-- | libqpdf/QPDFWriter.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index 83349b48..23beee32 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -2361,6 +2361,12 @@ QPDFWriter::initializeSpecialStreams() void QPDFWriter::preserveObjectStreams() { + std::map<int, int> omap; + QPDF::Writer::getObjectStreamData(this->m->pdf, omap); + if (omap.empty()) + { + return; + } // Our object_to_object_stream map has to map ObjGen -> ObjGen // since we may be generating object streams out of old objects // that have generation numbers greater than zero. However in an @@ -2380,8 +2386,6 @@ QPDFWriter::preserveObjectStreams() } QTC::TC("qpdf", "QPDFWriter preserve object streams", this->m->preserve_unreferenced_objects ? 0 : 1); - std::map<int, int> omap; - QPDF::Writer::getObjectStreamData(this->m->pdf, omap); for (auto iter: omap) { QPDFObjGen og(iter.first, 0); |