From 6088374ad290ab25da054014daa37ed8f3b866ff Mon Sep 17 00:00:00 2001 From: MacDue Date: Mon, 24 Jul 2023 19:02:36 +0100 Subject: [PATCH] LibPDF: Ensure all subpaths are closed before filling paths This lets us correctly draw figure 3.4 in pdf_reference_1-7.pdf. --- Userland/Libraries/LibPDF/Renderer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Userland/Libraries/LibPDF/Renderer.cpp b/Userland/Libraries/LibPDF/Renderer.cpp index 96b47ac2f9..0b555cd96b 100644 --- a/Userland/Libraries/LibPDF/Renderer.cpp +++ b/Userland/Libraries/LibPDF/Renderer.cpp @@ -298,6 +298,7 @@ RENDERER_HANDLER(path_close_and_stroke) RENDERER_HANDLER(path_fill_nonzero) { begin_path_paint(); + m_current_path.close_all_subpaths(); m_anti_aliasing_painter.fill_path(m_current_path, state().paint_color, Gfx::Painter::WindingRule::Nonzero); end_path_paint(); return {}; @@ -311,6 +312,7 @@ RENDERER_HANDLER(path_fill_nonzero_deprecated) RENDERER_HANDLER(path_fill_evenodd) { begin_path_paint(); + m_current_path.close_all_subpaths(); m_anti_aliasing_painter.fill_path(m_current_path, state().paint_color, Gfx::Painter::WindingRule::EvenOdd); end_path_paint(); return {};