diff --git a/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp b/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp index 9905fae768..7f70079ebf 100644 --- a/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp +++ b/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp @@ -410,7 +410,7 @@ static ErrorOr decode_bitmap(Stream& stream, DDSLoadingContext& context, u return {}; } -static ErrorOr decode_dds(DDSLoadingContext& context) +static ErrorOr decode_header(DDSLoadingContext& context) { // All valid DDS files are at least 128 bytes long. if (TRY(context.stream.size()) < 128) { @@ -465,6 +465,13 @@ static ErrorOr decode_dds(DDSLoadingContext& context) return Error::from_string_literal("Format type is not supported at the moment"); } + return {}; +} + +static ErrorOr decode_dds(DDSLoadingContext& context) +{ + TRY(decode_header(context)); + // We support parsing mipmaps, but we only care about the largest one :^) (At least for now) if (size_t mipmap_level = 0; mipmap_level < max(context.header.mip_map_count, 1u)) { u64 width = get_width(context.header, mipmap_level);