summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGfx/PGMLoader.cpp
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2021-11-20 14:29:33 +0100
committerAndreas Kling <kling@serenityos.org>2021-11-21 20:22:48 +0100
commit5a79c69b0216f070b07d8238e4c2c7e3420faeec (patch)
treea88ee6dff60c34b27f383d36a4dfd3ba4b11c482 /Userland/Libraries/LibGfx/PGMLoader.cpp
parentae7656072a403f69607109d941aa0c4b6274f60c (diff)
downloadserenity-5a79c69b0216f070b07d8238e4c2c7e3420faeec.zip
LibGfx: Make ImageDecoderPlugin::frame() return ErrorOr<>
This is a first step towards better error propagation from image codecs.
Diffstat (limited to 'Userland/Libraries/LibGfx/PGMLoader.cpp')
-rw-r--r--Userland/Libraries/LibGfx/PGMLoader.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/Userland/Libraries/LibGfx/PGMLoader.cpp b/Userland/Libraries/LibGfx/PGMLoader.cpp
index 837563e27b..9280f7f528 100644
--- a/Userland/Libraries/LibGfx/PGMLoader.cpp
+++ b/Userland/Libraries/LibGfx/PGMLoader.cpp
@@ -165,22 +165,22 @@ size_t PGMImageDecoderPlugin::frame_count()
return 1;
}
-ImageFrameDescriptor PGMImageDecoderPlugin::frame(size_t i)
+ErrorOr<ImageFrameDescriptor> PGMImageDecoderPlugin::frame(size_t index)
{
- if (i > 0)
- return {};
+ if (index > 0)
+ return Error::from_string_literal("PGMImageDecoderPlugin: Invalid frame index"sv);
if (m_context->state == PGMLoadingContext::State::Error)
- return {};
+ return Error::from_string_literal("PGMImageDecoderPlugin: Decoding failed"sv);
if (m_context->state < PGMLoadingContext::State::Decoded) {
bool success = decode(*m_context);
if (!success)
- return {};
+ return Error::from_string_literal("PGMImageDecoderPlugin: Decoding failed"sv);
}
VERIFY(m_context->bitmap);
- return { m_context->bitmap, 0 };
+ return ImageFrameDescriptor { m_context->bitmap, 0 };
}
}