diff options
Diffstat (limited to 'libqpdf')
-rw-r--r-- | libqpdf/QPDF.cc | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a089a6c2..5d09f900 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -708,16 +708,11 @@ QPDF::read_xref(qpdf_offset_t xref_offset) m->deleted_objects.clear(); // Make sure we keep only the highest generation for any object. - QPDFObjGen::set to_delete; - QPDFObjGen last_og; - for (auto const& og: m->xref_table) { - if (og.first.getObj() == last_og.getObj()) { - to_delete.emplace(last_og); - } - last_og = og.first; - } - for (auto const& og: to_delete) { - removeObject(og); + QPDFObjGen last_og{-1, 0}; + for (auto const& [og, _xref]: m->xref_table) { + if (og.getObj() == last_og.getObj()) + removeObject(last_og); + last_og = og; } } |