diff --git a/src/agg/process_polygon_pattern_symbolizer.cpp b/src/agg/process_polygon_pattern_symbolizer.cpp index c1086510e..838ef3ce6 100644 --- a/src/agg/process_polygon_pattern_symbolizer.cpp +++ b/src/agg/process_polygon_pattern_symbolizer.cpp @@ -166,6 +166,7 @@ void agg_renderer::process(polygon_pattern_symbolizer const& sym, } } agg::scanline_u8 sl; + ras_ptr->filling_rule(agg::fill_even_odd); agg::render_scanlines(*ras_ptr, sl, rp); } diff --git a/src/agg/process_polygon_symbolizer.cpp b/src/agg/process_polygon_symbolizer.cpp index 2691b70c1..811f0f1ab 100644 --- a/src/agg/process_polygon_symbolizer.cpp +++ b/src/agg/process_polygon_symbolizer.cpp @@ -98,6 +98,7 @@ void agg_renderer::process(polygon_symbolizer const& sym, renderer_type ren(renb); ren.color(agg::rgba8_pre(r, g, b, int(a * sym.get_opacity()))); agg::scanline_u8 sl; + ras_ptr->filling_rule(agg::fill_even_odd); agg::render_scanlines(*ras_ptr, sl, ren); } diff --git a/src/cairo_renderer.cpp b/src/cairo_renderer.cpp index 9fe57fb53..74531d611 100644 --- a/src/cairo_renderer.cpp +++ b/src/cairo_renderer.cpp @@ -334,6 +334,7 @@ void cairo_renderer_base::process(polygon_symbolizer const& sym, } } // fill polygon + context_.set_fill_rule(CAIRO_FILL_RULE_EVEN_ODD); context_.fill(); } @@ -871,6 +872,7 @@ void cairo_renderer_base::process(polygon_pattern_symbolizer const& sym, } } // fill polygon + context_.set_fill_rule(CAIRO_FILL_RULE_EVEN_ODD); context_.fill(); } diff --git a/src/grid/process_polygon_pattern_symbolizer.cpp b/src/grid/process_polygon_pattern_symbolizer.cpp index 956458f18..add1194a6 100644 --- a/src/grid/process_polygon_pattern_symbolizer.cpp +++ b/src/grid/process_polygon_pattern_symbolizer.cpp @@ -84,6 +84,7 @@ void grid_renderer::process(polygon_pattern_symbolizer const& sym, // render id ren.color(color_type(feature.id())); agg::scanline_bin sl; + ras_ptr->filling_rule(agg::fill_even_odd); agg::render_scanlines(*ras_ptr, sl, ren); // add feature properties to grid cache diff --git a/src/grid/process_polygon_symbolizer.cpp b/src/grid/process_polygon_symbolizer.cpp index ffa79fc6d..ed7a28651 100644 --- a/src/grid/process_polygon_symbolizer.cpp +++ b/src/grid/process_polygon_symbolizer.cpp @@ -86,6 +86,7 @@ void grid_renderer::process(polygon_symbolizer const& sym, // render id ren.color(color_type(feature.id())); agg::scanline_bin sl; + ras_ptr->filling_rule(agg::fill_even_odd); agg::render_scanlines(*ras_ptr, sl, ren); // add feature properties to grid cache