Commit 9c216a06d927bf6285dc48f22340d1f752452a6d
Committed by
Jay Berkenbilt
1 parent
98dff463
Tune QPDFWriter::enqueueObject
Showing
1 changed file
with
10 additions
and
10 deletions
libqpdf/QPDFWriter.cc
| @@ -1257,17 +1257,17 @@ QPDFWriter::enqueueObject(QPDFObjectHandle object) | @@ -1257,17 +1257,17 @@ QPDFWriter::enqueueObject(QPDFObjectHandle object) | ||
| 1257 | // indicates that an object stream is inside itself. | 1257 | // indicates that an object stream is inside itself. |
| 1258 | QTC::TC("qpdf", "QPDFWriter ignore self-referential object stream"); | 1258 | QTC::TC("qpdf", "QPDFWriter ignore self-referential object stream"); |
| 1259 | } | 1259 | } |
| 1260 | - } else if (object.isArray()) { | ||
| 1261 | - if (!this->m->linearized) { | ||
| 1262 | - int n = object.getArrayNItems(); | ||
| 1263 | - for (int i = 0; i < n; ++i) { | ||
| 1264 | - enqueueObject(object.getArrayItem(i)); | 1260 | + return; |
| 1261 | + } else if (!this->m->linearized) { | ||
| 1262 | + if (object.isArray()) { | ||
| 1263 | + for (auto& item: object.getArrayAsVector()) { | ||
| 1264 | + enqueueObject(item); | ||
| 1265 | } | 1265 | } |
| 1266 | - } | ||
| 1267 | - } else if (object.isDictionary()) { | ||
| 1268 | - if (!this->m->linearized) { | ||
| 1269 | - for (auto const& key: object.getKeys()) { | ||
| 1270 | - enqueueObject(object.getKey(key)); | 1266 | + } else if (object.isDictionary()) { |
| 1267 | + for (auto& item: object.getDictAsMap()) { | ||
| 1268 | + if (!item.second.isNull()) { | ||
| 1269 | + enqueueObject(item.second); | ||
| 1270 | + } | ||
| 1271 | } | 1271 | } |
| 1272 | } | 1272 | } |
| 1273 | } else { | 1273 | } else { |