You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
thorvg: Regenerate and apply patches
This commit is contained in:
2
thirdparty/README.md
vendored
2
thirdparty/README.md
vendored
@@ -924,6 +924,8 @@ Files extracted from upstream source:
|
|||||||
See `thorvg/update-thorvg.sh` for extraction instructions. Set the version
|
See `thorvg/update-thorvg.sh` for extraction instructions. Set the version
|
||||||
number and run the script.
|
number and run the script.
|
||||||
|
|
||||||
|
Patches in the `patches/` directory should be re-applied after updating.
|
||||||
|
|
||||||
|
|
||||||
## ufbx
|
## ufbx
|
||||||
|
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
From 8009c75465e5b35da2d5f53532bc65f6df202a3a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hermet Park <hermet@lottiefiles.com>
|
|
||||||
Date: Tue, 17 Sep 2024 11:35:48 +0900
|
|
||||||
Subject: [PATCH] renderer: hotfix a crash
|
|
||||||
|
|
||||||
prevent a nullptr memory access
|
|
||||||
regression by f5337015e971d24379d2ee664895503ab8945e13
|
|
||||||
|
|
||||||
issue: https://github.com/godotengine/godot/issues/97078
|
|
||||||
---
|
|
||||||
src/renderer/tvgShape.h | 6 ++++--
|
|
||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/renderer/tvgShape.h b/src/renderer/tvgShape.h
|
|
||||||
index 221931dee..e120a85c6 100644
|
|
||||||
--- a/src/renderer/tvgShape.h
|
|
||||||
+++ b/src/renderer/tvgShape.h
|
|
||||||
@@ -51,8 +51,9 @@ struct Shape::Impl
|
|
||||||
|
|
||||||
bool render(RenderMethod* renderer)
|
|
||||||
{
|
|
||||||
+ if (!rd) return false;
|
|
||||||
+
|
|
||||||
Compositor* cmp = nullptr;
|
|
||||||
- bool ret;
|
|
||||||
|
|
||||||
renderer->blend(shape->blend());
|
|
||||||
|
|
||||||
@@ -61,7 +62,7 @@ struct Shape::Impl
|
|
||||||
renderer->beginComposite(cmp, CompositeMethod::None, opacity);
|
|
||||||
}
|
|
||||||
|
|
||||||
- ret = renderer->renderShape(rd);
|
|
||||||
+ auto ret = renderer->renderShape(rd);
|
|
||||||
if (cmp) renderer->endComposite(cmp);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
@@ -117,6 +118,7 @@ struct Shape::Impl
|
|
||||||
|
|
||||||
RenderRegion bounds(RenderMethod* renderer)
|
|
||||||
{
|
|
||||||
+ if (!rd) return {0, 0, 0, 0};
|
|
||||||
return renderer->region(rd);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
diff --git a/thirdparty/thorvg/src/common/tvgLines.cpp b/thirdparty/thorvg/src/common/tvgLines.cpp
|
diff --git a/thirdparty/thorvg/src/common/tvgMath.cpp b/thirdparty/thorvg/src/common/tvgMath.cpp
|
||||||
index 49d992f127..9d704900a5 100644
|
index cb7f24ff40..f27f69faeb 100644
|
||||||
--- a/thirdparty/thorvg/src/common/tvgLines.cpp
|
--- a/thirdparty/thorvg/src/common/tvgMath.cpp
|
||||||
+++ b/thirdparty/thorvg/src/common/tvgLines.cpp
|
+++ b/thirdparty/thorvg/src/common/tvgMath.cpp
|
||||||
@@ -79,7 +79,7 @@ float _bezAt(const Bezier& bz, float at, float length, LengthFunc lineLengthFunc
|
@@ -79,7 +79,7 @@ float _bezAt(const Bezier& bz, float at, float length, LengthFunc lineLengthFunc
|
||||||
Bezier left;
|
Bezier left;
|
||||||
bezSplitLeft(right, t, left);
|
right.split(t, left);
|
||||||
length = _bezLength(left, lineLengthFunc);
|
length = _bezLength(left, lineLengthFunc);
|
||||||
- if (fabsf(length - at) < BEZIER_EPSILON || fabsf(smallest - biggest) < 1e-3f) {
|
- if (fabsf(length - at) < BEZIER_EPSILON || fabsf(smallest - biggest) < 1e-3f) {
|
||||||
+ if (fabsf(length - at) < BEZIER_EPSILON || fabsf(smallest - biggest) < BEZIER_EPSILON) {
|
+ if (fabsf(length - at) < BEZIER_EPSILON || fabsf(smallest - biggest) < BEZIER_EPSILON) {
|
||||||
|
|||||||
2
thirdparty/thorvg/src/common/tvgMath.cpp
vendored
2
thirdparty/thorvg/src/common/tvgMath.cpp
vendored
@@ -79,7 +79,7 @@ float _bezAt(const Bezier& bz, float at, float length, LengthFunc lineLengthFunc
|
|||||||
Bezier left;
|
Bezier left;
|
||||||
right.split(t, left);
|
right.split(t, left);
|
||||||
length = _bezLength(left, lineLengthFunc);
|
length = _bezLength(left, lineLengthFunc);
|
||||||
if (fabsf(length - at) < BEZIER_EPSILON || fabsf(smallest - biggest) < 1e-3f) {
|
if (fabsf(length - at) < BEZIER_EPSILON || fabsf(smallest - biggest) < BEZIER_EPSILON) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (length < at) {
|
if (length < at) {
|
||||||
|
|||||||
Reference in New Issue
Block a user