From 2712869cf96916bceeac7def35b6d0a54bd10316 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 28 Jan 2019 21:43:06 -0500 Subject: Fix logic for when to compress object and xref streams (fixes #271) --- libqpdf/QPDFWriter.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libqpdf/QPDFWriter.cc') diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index c549728d..fee287bc 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -1934,7 +1934,9 @@ QPDFWriter::writeObjectStream(QPDFObjectHandle object) // Set up a stream to write the stream data into a buffer. Pipeline* next = pushPipeline(new Pl_Buffer("object stream")); - if (! (this->m->stream_decode_level || this->m->qdf_mode)) + if ((this->m->compress_streams || + (this->m->stream_decode_level == qpdf_dl_none)) && + (! this->m->qdf_mode)) { compressed = true; next = pushPipeline( @@ -2876,7 +2878,9 @@ QPDFWriter::writeXRefStream(int xref_id, int max_id, qpdf_offset_t max_offset, Pipeline* p = pushPipeline(new Pl_Buffer("xref stream")); bool compressed = false; - if (! (this->m->stream_decode_level || this->m->qdf_mode)) + if ((this->m->compress_streams || + (this->m->stream_decode_level == qpdf_dl_none)) && + (! this->m->qdf_mode)) { compressed = true; if (! skip_compression) -- cgit v1.2.3-54-g00ecf