mirror of
https://github.com/SerenityOS/serenity
synced 2024-09-06 17:06:31 +00:00
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:
parent
6abc51d9f8
commit
e853139cf0
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue