aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFWriter.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-01-29 03:43:06 +0100
committerJay Berkenbilt <ejb@ql.org>2019-01-29 03:43:06 +0100
commit2712869cf96916bceeac7def35b6d0a54bd10316 (patch)
tree59650c44bc750e092494af92012614670b65cd24 /libqpdf/QPDFWriter.cc
parent52f9d326a56e6409a1487c724241f91de33e3ba6 (diff)
downloadqpdf-2712869cf96916bceeac7def35b6d0a54bd10316.tar.zst
Fix logic for when to compress object and xref streams (fixes #271)
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 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)