diff --git a/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.cpp b/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.cpp index f6d8c5f675..3d2487ca4a 100644 --- a/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.cpp +++ b/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.cpp @@ -1926,9 +1926,9 @@ static ErrorOr decode_jpeg(JPEGLoadingContext& context) return {}; } -JPEGImageDecoderPlugin::JPEGImageDecoderPlugin(NonnullOwnPtr stream) +JPEGImageDecoderPlugin::JPEGImageDecoderPlugin(NonnullOwnPtr context) + : m_context(move(context)) { - m_context = JPEGLoadingContext::create(move(stream)).release_value_but_fixme_should_propagate_errors(); } JPEGImageDecoderPlugin::~JPEGImageDecoderPlugin() = default; @@ -1949,7 +1949,8 @@ bool JPEGImageDecoderPlugin::sniff(ReadonlyBytes data) ErrorOr> JPEGImageDecoderPlugin::create(ReadonlyBytes data) { auto stream = TRY(try_make(data)); - auto plugin = TRY(adopt_nonnull_own_or_enomem(new (nothrow) JPEGImageDecoderPlugin(move(stream)))); + auto context = TRY(JPEGLoadingContext::create(move(stream))); + auto plugin = TRY(adopt_nonnull_own_or_enomem(new (nothrow) JPEGImageDecoderPlugin(move(context)))); TRY(decode_header(*plugin->m_context)); return plugin; } diff --git a/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.h b/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.h index 9e2468e117..b238e1c74a 100644 --- a/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.h +++ b/Userland/Libraries/LibGfx/ImageFormats/JPEGLoader.h @@ -28,9 +28,9 @@ public: virtual ErrorOr> icc_data() override; private: - JPEGImageDecoderPlugin(NonnullOwnPtr); + JPEGImageDecoderPlugin(NonnullOwnPtr); - OwnPtr m_context; + NonnullOwnPtr m_context; }; }