summaryrefslogtreecommitdiff
path: root/src/cairo-path-fill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cairo-path-fill.c')
-rw-r--r--src/cairo-path-fill.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cairo-path-fill.c b/src/cairo-path-fill.c
index 50cd2183..0cad156c 100644
--- a/src/cairo-path-fill.c
+++ b/src/cairo-path-fill.c
@@ -156,6 +156,9 @@ _cairo_path_fixed_fill_to_traps (const cairo_path_fixed_t *path,
cairo_polygon_t polygon;
cairo_status_t status;
+ if (path->is_empty_fill)
+ return CAIRO_STATUS_SUCCESS;
+
_cairo_polygon_init (&polygon);
if (traps->has_limits)
_cairo_polygon_limit (&polygon, &traps->limits);
@@ -163,7 +166,7 @@ _cairo_path_fixed_fill_to_traps (const cairo_path_fixed_t *path,
status = _cairo_path_fixed_fill_to_polygon (path,
tolerance,
&polygon);
- if (unlikely (status))
+ if (unlikely (status || polygon.num_edges == 0))
goto CLEANUP;
if (path->is_rectilinear) {