1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 21:07:34 +00:00

LibGfx+LibWeb: Propagate OOM when creating PaintStyles

This commit is contained in:
MacDue 2023-03-01 23:01:59 +00:00 committed by Andreas Kling
parent f0a99634dd
commit 3a0a7e3e96
5 changed files with 21 additions and 21 deletions

View file

@ -43,9 +43,9 @@ private:
class SolidColorPaintStyle final : public PaintStyle {
public:
static NonnullRefPtr<SolidColorPaintStyle> create(Color color)
static ErrorOr<NonnullRefPtr<SolidColorPaintStyle>> create(Color color)
{
return adopt_ref(*new SolidColorPaintStyle(color));
return adopt_nonnull_ref_or_enomem(new (nothrow) SolidColorPaintStyle(color));
}
virtual Color sample_color(IntPoint) const override { return m_color; }
@ -91,9 +91,9 @@ private:
class LinearGradientPaintStyle final : public GradientPaintStyle {
public:
static NonnullRefPtr<LinearGradientPaintStyle> create(float angle = 0.0f)
static ErrorOr<ErrorOr<NonnullRefPtr<LinearGradientPaintStyle>>> create(float angle = 0.0f)
{
return adopt_ref(*new LinearGradientPaintStyle(angle));
return adopt_nonnull_ref_or_enomem(new (nothrow) LinearGradientPaintStyle(angle));
}
private:
@ -109,9 +109,9 @@ private:
class ConicGradientPaintStyle final : public GradientPaintStyle {
public:
static NonnullRefPtr<ConicGradientPaintStyle> create(IntPoint center, float start_angle = 0.0f)
static ErrorOr<NonnullRefPtr<ConicGradientPaintStyle>> create(IntPoint center, float start_angle = 0.0f)
{
return adopt_ref(*new ConicGradientPaintStyle(center, start_angle));
return adopt_nonnull_ref_or_enomem(new (nothrow) ConicGradientPaintStyle(center, start_angle));
}
private:
@ -129,9 +129,9 @@ private:
class RadialGradientPaintStyle final : public GradientPaintStyle {
public:
static NonnullRefPtr<RadialGradientPaintStyle> create(IntPoint center, IntSize size)
static ErrorOr<NonnullRefPtr<RadialGradientPaintStyle>> create(IntPoint center, IntSize size)
{
return adopt_ref(*new RadialGradientPaintStyle(center, size));
return adopt_nonnull_ref_or_enomem(new (nothrow) RadialGradientPaintStyle(center, size));
}
private:
@ -153,9 +153,9 @@ private:
class CanvasLinearGradientPaintStyle final : public GradientPaintStyle {
public:
static NonnullRefPtr<CanvasLinearGradientPaintStyle> create(FloatPoint p0, FloatPoint p1)
static ErrorOr<NonnullRefPtr<CanvasLinearGradientPaintStyle>> create(FloatPoint p0, FloatPoint p1)
{
return adopt_ref(*new CanvasLinearGradientPaintStyle(p0, p1));
return adopt_nonnull_ref_or_enomem(new (nothrow) CanvasLinearGradientPaintStyle(p0, p1));
}
private:
@ -173,9 +173,9 @@ private:
class CanvasConicGradientPaintStyle final : public GradientPaintStyle {
public:
static NonnullRefPtr<CanvasConicGradientPaintStyle> create(FloatPoint center, float start_angle = 0.0f)
static ErrorOr<NonnullRefPtr<CanvasConicGradientPaintStyle>> create(FloatPoint center, float start_angle = 0.0f)
{
return adopt_ref(*new CanvasConicGradientPaintStyle(center, start_angle));
return adopt_nonnull_ref_or_enomem(new (nothrow) CanvasConicGradientPaintStyle(center, start_angle));
}
private:
@ -193,9 +193,9 @@ private:
class CanvasRadialGradientPaintStyle final : public GradientPaintStyle {
public:
static NonnullRefPtr<CanvasRadialGradientPaintStyle> create(FloatPoint start_center, float start_radius, FloatPoint end_center, float end_radius)
static ErrorOr<NonnullRefPtr<CanvasRadialGradientPaintStyle>> create(FloatPoint start_center, float start_radius, FloatPoint end_center, float end_radius)
{
return adopt_ref(*new CanvasRadialGradientPaintStyle(start_center, start_radius, end_center, end_radius));
return adopt_nonnull_ref_or_enomem(new (nothrow) CanvasRadialGradientPaintStyle(start_center, start_radius, end_center, end_radius));
}
private: