mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-01 05:39:11 +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
Notes:
sideshowbarker
2024-07-17 04:41:05 +09:00
Author: https://github.com/MacDue
Commit: e853139cf0
Pull-request: https://github.com/SerenityOS/serenity/pull/19250
Reviewed-by: https://github.com/gmta ✅
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