From c09be681123388d562822d677db631101a8faa07 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 23 May 2012 11:38:07 +0100 Subject: [PATCH] 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 --- src/cairo-bentley-ottmann-rectangular.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cairo-bentley-ottmann-rectangular.c b/src/cairo-bentley-ottmann-rectangular.c index b69d42540..5541bdc3a 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; }