diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-05-23 11:38:07 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-05-23 11:50:34 +0100 |
commit | c09be681123388d562822d677db631101a8faa07 (patch) | |
tree | 591718798cca817bf4594824e34b9c58c82f7c7a /src | |
parent | 7b2f787d1999bcc351b2e2904322020732939f5f (diff) |
bo-rectangular: Emit subsummed boxes for overlapping edges
Fixes bug-bo-collins
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49446
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/cairo-bentley-ottmann-rectangular.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cairo-bentley-ottmann-rectangular.c b/src/cairo-bentley-ottmann-rectangular.c index b69d4254..5541bdc3 100644 --- a/src/cairo-bentley-ottmann-rectangular.c +++ b/src/cairo-bentley-ottmann-rectangular.c @@ -487,6 +487,8 @@ active_edges_to_traps (sweep_line_t *sweep) } if (winding == 0) { + if (left->right != NULL) + edge_end_box (sweep, left, top); pos = right; continue; } @@ -557,7 +559,7 @@ sweep_line_delete_edge (sweep_line_t *sweep, edge_t *edge) } static inline cairo_bool_t -sweep_line_delete (sweep_line_t *sweep, rectangle_t *rectangle) +sweep_line_delete (sweep_line_t *sweep, rectangle_t *rectangle) { cairo_bool_t update; @@ -651,7 +653,6 @@ _cairo_bentley_ottmann_tessellate_rectangular (rectangle_t **rectangles, active_edges_to_traps (&sweep_line); update = FALSE; } - sweep_line.current_y = rectangle->bottom; } |