summaryrefslogtreecommitdiffstats
path: root/thirdparty/thorvg/patches/pr2740-renderer-crash-hotfix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/thorvg/patches/pr2740-renderer-crash-hotfix.patch')
-rw-r--r--thirdparty/thorvg/patches/pr2740-renderer-crash-hotfix.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/thirdparty/thorvg/patches/pr2740-renderer-crash-hotfix.patch b/thirdparty/thorvg/patches/pr2740-renderer-crash-hotfix.patch
new file mode 100644
index 0000000000..50b1e1e4a7
--- /dev/null
+++ b/thirdparty/thorvg/patches/pr2740-renderer-crash-hotfix.patch
@@ -0,0 +1,45 @@
+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);
+ }
+