summaryrefslogtreecommitdiffstats
path: root/thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-06 18:07:30 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-06 22:08:02 +0200
commita6ab039f2b9e2d524b45186586cc880134fbee98 (patch)
tree9cd88fdfa8ca80f878f73e86865259ea9f4f4212 /thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp
parent05d985496c73577fb0b44291345da5f2dbe09844 (diff)
downloadredot-engine-a6ab039f2b9e2d524b45186586cc880134fbee98.tar.gz
thorvg: Update to 0.14.9
Fixes #96491. Update fix for #96262 to a simple revert of the problematic commit, as the upstream fix is still being debated and caused other issues. Also include fix for upstream regression 2715 added in 0.14.9.
Diffstat (limited to 'thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp')
-rw-r--r--thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp b/thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp
index e0e74ce53c..75ac96be04 100644
--- a/thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp
+++ b/thirdparty/thorvg/src/renderer/sw_engine/tvgSwStroke.cpp
@@ -441,17 +441,11 @@ static void _cubicTo(SwStroke& stroke, const SwPoint& ctrl1, const SwPoint& ctrl
//initialize with current direction
angleIn = angleOut = angleMid = stroke.angleIn;
- if (arc < limit) {
- if (mathSmallCubic(arc)) {
- arc -= 3;
- continue;
- }
- if (!mathFlatCubic(arc, angleIn, angleMid, angleOut)) {
- if (stroke.firstPt) stroke.angleIn = angleIn;
- mathSplitCubic(arc);
- arc += 3;
- continue;
- }
+ if (arc < limit && !mathSmallCubic(arc, angleIn, angleMid, angleOut)) {
+ if (stroke.firstPt) stroke.angleIn = angleIn;
+ mathSplitCubic(arc);
+ arc += 3;
+ continue;
}
if (firstArc) {