mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 00:17:46 +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
1 changed files with 3 additions and 0 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue