summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2024-05-13 16:49:31 +0200
committerGitHub <noreply@github.com>2024-05-13 16:49:31 +0200
commit03bc909abb92444dd80993423e0bfd4d7e5dd6e3 (patch)
treeecfe4a7400b31a7f4dfb46324af8d1f1080238e8 /lib
parent7137863b601ee1891a702ce3c75dc98ddbe8e89d (diff)
fix invalid clip paths (#2897)
Diffstat (limited to 'lib')
-rw-r--r--lib/svg/clip.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/svg/clip.py b/lib/svg/clip.py
index 36c73947..f2c77222 100644
--- a/lib/svg/clip.py
+++ b/lib/svg/clip.py
@@ -14,5 +14,8 @@ def get_clip_path(node):
transform = node.composed_transform()
clip.transform = transform
clip_element = EmbroideryElement(clip)
- clip_element.paths.sort(key=lambda point_list: Polygon(point_list).area, reverse=True)
- return MultiPolygon([(clip_element.paths[0], clip_element.paths[1:])])
+ clip_paths = [path for path in clip_element.paths if len(path) > 3]
+ clip_paths.sort(key=lambda point_list: Polygon(point_list).area, reverse=True)
+ if clip_paths:
+ return MultiPolygon([(clip_paths[0], clip_paths[1:])])
+ return MultiPolygon()