From 9a2c8102cd8483c1ec15360a0289cd88d64464f2 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sat, 25 Apr 2020 14:05:05 +0100 Subject: [PATCH] LibGfx: Use content sniffing to choose which ImageDecoder plugin to use --- Libraries/LibGfx/ImageDecoder.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Libraries/LibGfx/ImageDecoder.cpp b/Libraries/LibGfx/ImageDecoder.cpp index 54796b40fa..6518c509ba 100644 --- a/Libraries/LibGfx/ImageDecoder.cpp +++ b/Libraries/LibGfx/ImageDecoder.cpp @@ -25,6 +25,7 @@ */ #include +#include #include namespace Gfx { @@ -32,6 +33,16 @@ namespace Gfx { ImageDecoder::ImageDecoder(const u8* data, size_t size) { m_plugin = make(data, size); + if (m_plugin->sniff()) { + dbg() << "Decoding image as a PNG"; + return; + } + + m_plugin = make(data, size); + if (m_plugin->sniff()) { + dbg() << "Decoding image as a GIF"; + return; + } } ImageDecoder::~ImageDecoder()