Commit 634d9249866de10ae60b7261fe03203fe6b04974
1 parent
2bb9e06d
In QPDFWriter::willFilterStream remember unfilterable streams
Showing
1 changed file
with
4 additions
and
3 deletions
libqpdf/QPDFWriter.cc
| ... | ... | @@ -1236,8 +1236,8 @@ QPDFWriter::writeTrailer( |
| 1236 | 1236 | bool |
| 1237 | 1237 | QPDFWriter::willFilterStream( |
| 1238 | 1238 | QPDFObjectHandle stream, |
| 1239 | - bool& compress_stream, | |
| 1240 | - bool& is_metadata, | |
| 1239 | + bool& compress_stream, // out only | |
| 1240 | + bool& is_metadata, // out only | |
| 1241 | 1241 | std::shared_ptr<Buffer>* stream_data) |
| 1242 | 1242 | { |
| 1243 | 1243 | compress_stream = false; |
| ... | ... | @@ -1299,9 +1299,10 @@ QPDFWriter::willFilterStream( |
| 1299 | 1299 | throw std::runtime_error( |
| 1300 | 1300 | "error while getting stream data for " + stream.unparse() + ": " + e.what()); |
| 1301 | 1301 | } |
| 1302 | - if (filter && (!filtered)) { | |
| 1302 | + if (filter && !filtered) { | |
| 1303 | 1303 | // Try again |
| 1304 | 1304 | filter = false; |
| 1305 | + stream.setFilterOnWrite(false); | |
| 1305 | 1306 | } else { |
| 1306 | 1307 | break; |
| 1307 | 1308 | } | ... | ... |