Commit 5641832e54e347c2c33e9304d96cca450eb305ed
1 parent
07f6c635
Tweak QPDF::read_xref
Showing
1 changed file
with
5 additions
and
10 deletions
libqpdf/QPDF.cc
| ... | ... | @@ -708,16 +708,11 @@ QPDF::read_xref(qpdf_offset_t xref_offset) |
| 708 | 708 | m->deleted_objects.clear(); |
| 709 | 709 | |
| 710 | 710 | // Make sure we keep only the highest generation for any object. |
| 711 | - QPDFObjGen::set to_delete; | |
| 712 | - QPDFObjGen last_og; | |
| 713 | - for (auto const& og: m->xref_table) { | |
| 714 | - if (og.first.getObj() == last_og.getObj()) { | |
| 715 | - to_delete.emplace(last_og); | |
| 716 | - } | |
| 717 | - last_og = og.first; | |
| 718 | - } | |
| 719 | - for (auto const& og: to_delete) { | |
| 720 | - removeObject(og); | |
| 711 | + QPDFObjGen last_og{-1, 0}; | |
| 712 | + for (auto const& [og, _xref]: m->xref_table) { | |
| 713 | + if (og.getObj() == last_og.getObj()) | |
| 714 | + removeObject(last_og); | |
| 715 | + last_og = og; | |
| 721 | 716 | } |
| 722 | 717 | } |
| 723 | 718 | ... | ... |