DescriptionFix for out-of-bounds intersection (found by fuzzer).
Sometimes, the intersection returned by check_intersection() is
out-of-bounds for both edges (above both tops or below both bottoms)
due to floating-point inaccuracy. This causes split_edge() to create a
tiny negative-length edge on one side (which would then assert).
Although we could safely remove this assert and allow the negative
length edge to be removed, it's faster/safer to simply avoid its
creation in the first place by adjusting one edge to the other edge's
endpoint.
Added a new unit test to exercise this case.
Committed: https://skia.googlesource.com/skia/+/a2b6d28755916cbb4817cd9d1cd1b0e237de9a50
Patch Set 1 #
Messages
Total messages: 7 (3 generated)
|