瀏覽代碼

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.
Rodrigo Tobar 2 年之前
父節點
當前提交
c4bc27f274
共有 1 個文件被更改,包括 4 次插入5 次删除
  1. 4 5
      Userland/Libraries/LibPDF/Renderer.cpp

+ 4 - 5
Userland/Libraries/LibPDF/Renderer.cpp

@@ -13,11 +13,10 @@
 #define RENDERER_HANDLER(name) \
     PDFErrorOr<void> Renderer::handle_##name([[maybe_unused]] Vector<Value> const& args, [[maybe_unused]] Optional<NonnullRefPtr<DictObject>> 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 {