|
@@ -451,7 +451,15 @@ PDFErrorOr<Destination> Document::create_destination_from_parameters(NonnullRefP
|
|
VERIFY_NOT_REACHED();
|
|
VERIFY_NOT_REACHED();
|
|
}
|
|
}
|
|
|
|
|
|
- return Destination { type, page_number_by_index_ref.get(page_ref.as_ref_index()), parameters };
|
|
|
|
|
|
+ // The spec requires page_ref to be an indirect reference to a page object,
|
|
|
|
+ // but in practice it's sometimes a page index.
|
|
|
|
+ Optional<u32> page_number;
|
|
|
|
+ if (page_ref.has<int>())
|
|
|
|
+ page_number = page_ref.get<int>();
|
|
|
|
+ else
|
|
|
|
+ page_number = page_number_by_index_ref.get(page_ref.as_ref_index());
|
|
|
|
+
|
|
|
|
+ return Destination { type, page_number, parameters };
|
|
}
|
|
}
|
|
|
|
|
|
PDFErrorOr<Optional<NonnullRefPtr<Object>>> Document::get_inheritable_object(DeprecatedFlyString const& name, NonnullRefPtr<DictObject> object)
|
|
PDFErrorOr<Optional<NonnullRefPtr<Object>>> Document::get_inheritable_object(DeprecatedFlyString const& name, NonnullRefPtr<DictObject> object)
|