LibWeb: Add null checks before derefencing Bitmaps in ImageStyleValue

This commit is contained in:
Marco Cutecchia 2022-11-16 20:00:49 +01:00 committed by Andreas Kling
commit 07fb0882bf
Notes: sideshowbarker 2024-07-17 06:54:15 +09:00

View file

@ -1720,22 +1720,22 @@ bool ImageStyleValue::equals(StyleValue const& other) const
Optional<int> ImageStyleValue::natural_width() const Optional<int> ImageStyleValue::natural_width() const
{ {
if (resource()) if (auto* b = bitmap(0); b != nullptr)
return bitmap(0)->width(); return b->width();
return {}; return {};
} }
Optional<int> ImageStyleValue::natural_height() const Optional<int> ImageStyleValue::natural_height() const
{ {
if (resource()) if (auto* b = bitmap(0); b != nullptr)
return bitmap(0)->height(); return b->height();
return {}; return {};
} }
void ImageStyleValue::paint(PaintContext& context, Gfx::IntRect const& dest_rect, CSS::ImageRendering image_rendering) const void ImageStyleValue::paint(PaintContext& context, Gfx::IntRect const& dest_rect, CSS::ImageRendering image_rendering) const
{ {
if (resource()) if (auto* b = bitmap(m_current_frame_index); b != nullptr)
context.painter().draw_scaled_bitmap(dest_rect, *bitmap(m_current_frame_index), bitmap(0)->rect(), 1.0f, to_gfx_scaling_mode(image_rendering)); context.painter().draw_scaled_bitmap(dest_rect, *b, bitmap(0)->rect(), 1.0f, to_gfx_scaling_mode(image_rendering));
} }
static void serialize_color_stop_list(StringBuilder& builder, auto const& color_stop_list) static void serialize_color_stop_list(StringBuilder& builder, auto const& color_stop_list)