From 9e4d697d234618e9bf7e71b9ed8efaee7fdd5a38 Mon Sep 17 00:00:00 2001 From: Lucas CHOLLET Date: Sat, 11 Nov 2023 23:35:26 -0500 Subject: [PATCH] LibPDF: Detect DCT images correctly Images can have multiple filters, each one of them is processed sequentially. Only the last one will be relevant for the image format (DCT or JPXDecode), so use the last filter instead of the first one to detect that property. --- Userland/Libraries/LibPDF/Renderer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibPDF/Renderer.cpp b/Userland/Libraries/LibPDF/Renderer.cpp index 2dce468dc7..09f7965083 100644 --- a/Userland/Libraries/LibPDF/Renderer.cpp +++ b/Userland/Libraries/LibPDF/Renderer.cpp @@ -830,7 +830,8 @@ PDFErrorOr> Renderer::load_image(NonnullRefPtris()) return filter_object->cast()->name() == name; auto filters = filter_object->cast(); - return MUST(filters->get_name_at(m_document, 0))->name() == name; + auto last_filter_index = filters->elements().size() - 1; + return MUST(filters->get_name_at(m_document, last_filter_index))->name() == name; }; if (TRY(is_filter(CommonNames::JPXDecode))) { return Error(Error::Type::RenderingUnsupported, "JPXDecode filter");