mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
LibWeb: Add missing empty size check before allocating PaintingSurface
Fixes crashing when Gfx::PaintingSurface::create_with_size() is called with a size of 0.
This commit is contained in:
committed by
Alexander Kalenik
parent
bd93285811
commit
fd25fea3ab
@@ -282,7 +282,7 @@ String HTMLCanvasElement::to_data_url(StringView type, JS::Value quality)
|
||||
allocate_painting_surface_if_needed();
|
||||
auto surface = this->surface();
|
||||
auto size = bitmap_size_for_canvas();
|
||||
if (!surface) {
|
||||
if (!surface && !size.is_empty()) {
|
||||
// If the context is not initialized yet, we need to allocate transparent surface for serialization
|
||||
auto skia_backend_context = navigable()->traversable_navigable()->skia_backend_context();
|
||||
surface = Gfx::PaintingSurface::create_with_size(skia_backend_context, size, Gfx::BitmapFormat::BGRA8888, Gfx::AlphaType::Premultiplied);
|
||||
@@ -322,7 +322,7 @@ WebIDL::ExceptionOr<void> HTMLCanvasElement::to_blob(GC::Ref<WebIDL::CallbackTyp
|
||||
allocate_painting_surface_if_needed();
|
||||
auto surface = this->surface();
|
||||
auto size = bitmap_size_for_canvas();
|
||||
if (!surface) {
|
||||
if (!surface && !size.is_empty()) {
|
||||
// If the context is not initialized yet, we need to allocate transparent surface for serialization
|
||||
auto skia_backend_context = navigable()->traversable_navigable()->skia_backend_context();
|
||||
surface = Gfx::PaintingSurface::create_with_size(skia_backend_context, size, Gfx::BitmapFormat::BGRA8888, Gfx::AlphaType::Premultiplied);
|
||||
|
||||
Reference in New Issue
Block a user