summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsmix8 <52464204+smix8@users.noreply.github.com>2024-04-10 21:56:21 +0200
committersmix8 <52464204+smix8@users.noreply.github.com>2024-04-10 21:56:21 +0200
commit497afeaf05d9844e79664343a277955edaf3ccf4 (patch)
treef81de24766cd2b1516803584a212b67d9cde8211
parent83b916bb00eb8cac4584143a80f5cfad7ce1e908 (diff)
downloadredot-engine-497afeaf05d9844e79664343a277955edaf3ccf4.tar.gz
Fix NavigationMeshSourceGeometryData merge crash
Fixes crash when trying to merge with a null source geometry.
-rw-r--r--scene/resources/navigation_mesh_source_geometry_data_2d.cpp2
-rw-r--r--scene/resources/navigation_mesh_source_geometry_data_3d.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/scene/resources/navigation_mesh_source_geometry_data_2d.cpp b/scene/resources/navigation_mesh_source_geometry_data_2d.cpp
index dfa3b598c8..d613b498a1 100644
--- a/scene/resources/navigation_mesh_source_geometry_data_2d.cpp
+++ b/scene/resources/navigation_mesh_source_geometry_data_2d.cpp
@@ -120,6 +120,8 @@ void NavigationMeshSourceGeometryData2D::add_obstruction_outline(const PackedVec
}
void NavigationMeshSourceGeometryData2D::merge(const Ref<NavigationMeshSourceGeometryData2D> &p_other_geometry) {
+ ERR_FAIL_NULL(p_other_geometry);
+
// No need to worry about `root_node_transform` here as the data is already xformed.
traversable_outlines.append_array(p_other_geometry->traversable_outlines);
obstruction_outlines.append_array(p_other_geometry->obstruction_outlines);
diff --git a/scene/resources/navigation_mesh_source_geometry_data_3d.cpp b/scene/resources/navigation_mesh_source_geometry_data_3d.cpp
index 1bd98fe1ac..39a17946fa 100644
--- a/scene/resources/navigation_mesh_source_geometry_data_3d.cpp
+++ b/scene/resources/navigation_mesh_source_geometry_data_3d.cpp
@@ -172,6 +172,8 @@ void NavigationMeshSourceGeometryData3D::add_faces(const PackedVector3Array &p_f
}
void NavigationMeshSourceGeometryData3D::merge(const Ref<NavigationMeshSourceGeometryData3D> &p_other_geometry) {
+ ERR_FAIL_NULL(p_other_geometry);
+
// No need to worry about `root_node_transform` here as the vertices are already xformed.
const int64_t number_of_vertices_before_merge = vertices.size();
const int64_t number_of_indices_before_merge = indices.size();