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