lib/hexapdf/parser.rb in hexapdf-1.0.0 vs lib/hexapdf/parser.rb in hexapdf-1.0.1

- old
+ new

@@ -114,10 +114,14 @@ if xref_entry.oid != 0 && (oid != xref_entry.oid || gen != xref_entry.gen) raise_malformed("The oid,gen (#{oid},#{gen}) values of the indirect object don't match " \ "the values (#{xref_entry.oid},#{xref_entry.gen}) from the xref") end - @document.wrap(obj, oid: oid, gen: gen, stream: stream) + if obj.kind_of?(Reference) + @document.deref(obj) + else + @document.wrap(obj, oid: oid, gen: gen, stream: stream) + end rescue HexaPDF::MalformedPDFError reconstructed_revision.object(xref_entry) || @document.wrap(nil, oid: xref_entry.oid, gen: xref_entry.gen) end