From c4bc27f27489cdc062468eea53b18f1e6e5db716 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Wed, 14 Dec 2022 23:10:26 +0800 Subject: [PATCH] LibPDF: Don't abort on unsupported drawing operations Instead of calling TODO(), which will abort the program, we now return an Error specifying that we haven't implemented the drawing operation yet. This will now nicely trickle up all the way through to the PDFViewer, which will then notify its clients about the problem. --- Userland/Libraries/LibPDF/Renderer.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Userland/Libraries/LibPDF/Renderer.cpp b/Userland/Libraries/LibPDF/Renderer.cpp index 1cc8186e9b..6c8f434a42 100644 --- a/Userland/Libraries/LibPDF/Renderer.cpp +++ b/Userland/Libraries/LibPDF/Renderer.cpp @@ -13,11 +13,10 @@ #define RENDERER_HANDLER(name) \ PDFErrorOr Renderer::handle_##name([[maybe_unused]] Vector const& args, [[maybe_unused]] Optional> extra_resources) -#define RENDERER_TODO(name) \ - RENDERER_HANDLER(name) \ - { \ - dbgln("[PDF::Renderer] Unsupported draw operation " #name); \ - TODO(); \ +#define RENDERER_TODO(name) \ + RENDERER_HANDLER(name) \ + { \ + return Error(Error::Type::RenderingUnsupported, "draw operation: " #name); \ } namespace PDF {