mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 16:45:03 +00:00
LibWeb: Do not crash when svg mask calculation failed
Currently `calculate_mask()` fails to create bitmap when `maskContentUnits="objectBoundingBox"` is present. Fixes https://github.com/SerenityOS/serenity/issues/22316
This commit is contained in:
committed by
Andreas Kling
parent
4c81414b14
commit
2753075830
@@ -333,11 +333,14 @@ void StackingContext::paint(PaintContext& context) const
|
||||
if (masking_area->is_empty())
|
||||
return;
|
||||
auto mask_bitmap = paintable_box().calculate_mask(context, *masking_area);
|
||||
push_stacking_context_params.source_paintable_rect = context.enclosing_device_rect(*masking_area).to_type<int>();
|
||||
push_stacking_context_params.mask = StackingContextMask {
|
||||
.mask_bitmap = mask_bitmap.release_nonnull(),
|
||||
.mask_kind = *paintable_box().get_mask_type()
|
||||
};
|
||||
if (mask_bitmap) {
|
||||
auto source_paintable_rect = context.enclosing_device_rect(*masking_area).to_type<int>();
|
||||
push_stacking_context_params.source_paintable_rect = source_paintable_rect;
|
||||
push_stacking_context_params.mask = StackingContextMask {
|
||||
.mask_bitmap = mask_bitmap.release_nonnull(),
|
||||
.mask_kind = *paintable_box().get_mask_type()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
context.recording_painter().push_stacking_context(push_stacking_context_params);
|
||||
|
||||
Reference in New Issue
Block a user