diff --git a/Userland/Libraries/LibImageDecoderClient/Client.cpp b/Userland/Libraries/LibImageDecoderClient/Client.cpp index 29455ef47bc..5ac14c63b1d 100644 --- a/Userland/Libraries/LibImageDecoderClient/Client.cpp +++ b/Userland/Libraries/LibImageDecoderClient/Client.cpp @@ -56,7 +56,12 @@ Optional Client::decode_image(const ByteBuffer& encoded_data) } memcpy(encoded_buffer.data(), encoded_data.data(), encoded_data.size()); - auto response = send_sync(move(encoded_buffer)); + auto response = send_sync_but_allow_failure(move(encoded_buffer)); + + if (!response) { + dbgln("ImageDecoder died heroically"); + return {}; + } DecodedImage image; image.is_animated = response->is_animated();