LibGfx: Fix adding active edges in filled path rasterizer

This was previously masked by sorting the edges on max_y, but if the
last added edge pointed to an edge that ended on the current scanline,
that edge (and what it points to) would also end up added to the active
edges. These edges would then never get removed, and break things very
badly!
This commit is contained in:
MacDue 2023-06-03 23:47:31 +01:00 committed by Andreas Kling
parent 6abc51d9f8
commit e853139cf0

View file

@ -230,6 +230,9 @@ Detail::Edge* EdgeFlagPathRasterizer<SamplesPerPixel>::plot_edges_for_scanline(i
current_edge = current_edge->next_edge;
}
if (prev_edge)
prev_edge->next_edge = nullptr;
m_edge_table[scanline] = nullptr;
return active_edges;
}