From 790016d00a746f3f99894440cd32c0c0b46e5239 Mon Sep 17 00:00:00 2001
From: Okko Hakola <okkohakola@gmail.com>
Date: Fri, 13 Oct 2023 10:52:41 +0300
Subject: [PATCH] Ensure points passed to convex polygon aren't empty

---
 src/shape/convex_polygon.rs | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/shape/convex_polygon.rs b/src/shape/convex_polygon.rs
index 9ab6a61b..5d9012d7 100644
--- a/src/shape/convex_polygon.rs
+++ b/src/shape/convex_polygon.rs
@@ -32,6 +32,9 @@ impl ConvexPolygon {
     /// Convexity of the input polyline is not checked.
     /// Returns `None` if all points form an almost flat line.
     pub fn from_convex_polyline(mut points: Vec<Point<Real>>) -> Option<Self> {
+        if points.is_empty() {
+            return None;
+        }
         let eps = ComplexField::sqrt(crate::math::DEFAULT_EPSILON);
         let mut normals = Vec::with_capacity(points.len());
         // First, compute all normals.