diff --git a/Tests/LibWeb/Ref/images/svg-gradient-spreadMethod-ref.png b/Tests/LibWeb/Ref/images/svg-gradient-spreadMethod-ref.png index 29eb2c6b9e..845889b4fc 100644 Binary files a/Tests/LibWeb/Ref/images/svg-gradient-spreadMethod-ref.png and b/Tests/LibWeb/Ref/images/svg-gradient-spreadMethod-ref.png differ diff --git a/Tests/LibWeb/Ref/images/svg-radialGradient-ref.png b/Tests/LibWeb/Ref/images/svg-radialGradient-ref.png index 2818a70dce..9fe09d9264 100644 Binary files a/Tests/LibWeb/Ref/images/svg-radialGradient-ref.png and b/Tests/LibWeb/Ref/images/svg-radialGradient-ref.png differ diff --git a/Tests/LibWeb/Ref/svg-radialGradient.html b/Tests/LibWeb/Ref/svg-radialGradient.html index 81800b16cb..8792b9ddc1 100644 --- a/Tests/LibWeb/Ref/svg-radialGradient.html +++ b/Tests/LibWeb/Ref/svg-radialGradient.html @@ -129,7 +129,6 @@ - diff --git a/Userland/Libraries/LibGfx/GradientPainting.cpp b/Userland/Libraries/LibGfx/GradientPainting.cpp index 333d3977b1..eebbd1d8ae 100644 --- a/Userland/Libraries/LibGfx/GradientPainting.cpp +++ b/Userland/Libraries/LibGfx/GradientPainting.cpp @@ -523,9 +523,9 @@ static auto create_radial_gradient_between_two_circles(Gfx::FloatPoint start_cen [=](float x, float y) { auto loc = [&] { FloatPoint point { x, y }; - auto dist = point.distance_from(start_point); - if (dist == 0) - return 0.0f; + // Add a little to avoid division by zero at the focal point. + if (point == start_point) + point += FloatPoint { 0.001f, 0.001f }; // The "vec" (unit) vector points from the focal point to the current point. auto dist = point.distance_from(start_point); auto vec = (point - start_point) / dist;