LibWeb: Verify type before casting PaintableBox to PaintableWithLines

Previously, calling `BlockContainer::paintable_with_lines()` would cast
a `PaintableBox` to a `PaintableWithLines` without verifying that the
cast was valid, which isn't the cast for `FieldsetPaintable`, for
example. This method now returns null if it isn't poossible to cast to
`PaintableWithLines`.
This commit is contained in:
Tim Ledbetter 2025-07-12 23:41:23 +01:00 committed by Alexander Kalenik
commit cd0074528e
Notes: github-actions[bot] 2025-07-13 01:03:06 +00:00

View file

@ -23,7 +23,7 @@ BlockContainer::~BlockContainer() = default;
Painting::PaintableWithLines const* BlockContainer::paintable_with_lines() const
{
return static_cast<Painting::PaintableWithLines const*>(Box::paintable_box());
return as_if<Painting::PaintableWithLines>(Box::paintable_box());
}
GC::Ptr<Painting::Paintable> BlockContainer::create_paintable() const