aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFWriter.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2021-05-09 13:51:14 +0200
committerJay Berkenbilt <ejb@ql.org>2021-05-09 13:51:14 +0200
commit3cacb27a90cf332e7e978e925bb615c17f567ee3 (patch)
tree2f8f0812ecb7338acbd3945fc0d3ab881a676da5 /libqpdf/QPDFWriter.cc
parentbddebdb0eace5641d69230820df3dd4733a99386 (diff)
downloadqpdf-3cacb27a90cf332e7e978e925bb615c17f567ee3.tar.zst
Performance fix on preserveObjectStreams
Diffstat (limited to 'libqpdf/QPDFWriter.cc')
-rw-r--r--libqpdf/QPDFWriter.cc8
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);