diff options
author | m-holger <m-holger@kubitscheck.org> | 2023-01-08 13:52:33 +0100 |
---|---|---|
committer | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2023-01-08 19:33:10 +0100 |
commit | 8363657cf34be7ac34b86ee32ec052cc4ed7e5e1 (patch) | |
tree | 94bcf1f85f86bf4a13d5347ac773fa7b7da9b188 | |
parent | 9c216a06d927bf6285dc48f22340d1f752452a6d (diff) | |
download | qpdf-8363657cf34be7ac34b86ee32ec052cc4ed7e5e1.tar.zst |
Change QPDFWriter::object_queue to std::vector
-rw-r--r-- | include/qpdf/QPDFWriter.hh | 3 | ||||
-rw-r--r-- | libqpdf/QPDFWriter.cc | 6 |
2 files changed, 5 insertions, 4 deletions
diff --git a/include/qpdf/QPDFWriter.hh b/include/qpdf/QPDFWriter.hh index a9d60672..56771e18 100644 --- a/include/qpdf/QPDFWriter.hh +++ b/include/qpdf/QPDFWriter.hh @@ -751,7 +751,8 @@ class QPDFWriter std::string cur_data_key; std::list<std::shared_ptr<Pipeline>> to_delete; Pl_Count* pipeline; - std::list<QPDFObjectHandle> object_queue; + std::vector<QPDFObjectHandle> object_queue; + size_t object_queue_front{0}; std::map<QPDFObjGen, int> obj_renumber; std::map<int, QPDFXRefEntry> xref; std::map<int, qpdf_offset_t> lengths; diff --git a/libqpdf/QPDFWriter.cc b/libqpdf/QPDFWriter.cc index e1225c34..383a6886 100644 --- a/libqpdf/QPDFWriter.cc +++ b/libqpdf/QPDFWriter.cc @@ -3363,9 +3363,9 @@ QPDFWriter::writeStandard() } // Now start walking queue, outputting each object. - while (this->m->object_queue.size()) { - QPDFObjectHandle cur_object = this->m->object_queue.front(); - this->m->object_queue.pop_front(); + while (m->object_queue_front < m->object_queue.size()) { + QPDFObjectHandle cur_object = m->object_queue.at(m->object_queue_front); + ++m->object_queue_front; writeObject(cur_object); } |