summaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2021-08-02 23:07:18 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2021-08-02 23:07:18 +0800
commit0c879ab28828afdffe0f6a8effb1830fd814868e (patch)
treea7a82cdd946f04c019f1ac4d4499fcf0f84d799b /scene
parentb9d544b404bfcfbaf797b97b540961510595cd29 (diff)
Fix crash when number of indices to optimize is not a multiple of 3
Diffstat (limited to 'scene')
-rw-r--r--scene/resources/surface_tool.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp
index 9f8c35b668..875aa30824 100644
--- a/scene/resources/surface_tool.cpp
+++ b/scene/resources/surface_tool.cpp
@@ -1120,6 +1120,7 @@ SurfaceTool::CustomFormat SurfaceTool::get_custom_format(int p_index) const {
void SurfaceTool::optimize_indices_for_cache() {
ERR_FAIL_COND(optimize_vertex_cache_func == nullptr);
ERR_FAIL_COND(index_array.size() == 0);
+ ERR_FAIL_COND(index_array.size() % 3 != 0);
LocalVector old_index_array = index_array;
memset(index_array.ptr(), 0, index_array.size() * sizeof(int));