LibPDF: Use resolve_to on /Dests entry

Fixes an assertion if /Dests is an indirect object (`24 0 R`)
instead of an inline dictionary.
This commit is contained in:
Nico Weber 2023-10-20 23:20:18 -04:00 committed by Andreas Kling
commit fbd00d9c8e
Notes: sideshowbarker 2024-07-17 07:14:09 +09:00

View file

@ -502,7 +502,7 @@ PDFErrorOr<Destination> Document::create_destination_from_object(NonnullRefPtr<O
else
dest_name = dest_obj->cast<StringObject>()->string();
if (auto dests_value = m_catalog->get(CommonNames::Dests); dests_value.has_value()) {
auto dests = dests_value.value().get<NonnullRefPtr<Object>>()->cast<DictObject>();
auto dests = TRY(resolve_to<DictObject>(dests_value.value()));
auto entry = MUST(dests->get_object(this, dest_name));
return TRY(create_destination_from_dictionary_entry(entry, page_number_by_index_ref));
}