Fix GridMap free navigation RID error spam

Fixes GridMap free navigation RID error spam.
This commit is contained in:
smix8 2023-03-14 04:07:37 +01:00
parent ed13a52f94
commit cc02007e30

View file

@ -557,10 +557,14 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
}
//erase navigation
for (const KeyValue<IndexKey, Octant::NavigationCell> &E : g.navigation_cell_ids) {
NavigationServer3D::get_singleton()->free(E.value.region);
for (KeyValue<IndexKey, Octant::NavigationCell> &E : g.navigation_cell_ids) {
if (E.value.region.is_valid()) {
NavigationServer3D::get_singleton()->free(E.value.region);
E.value.region = RID();
}
if (E.value.navigation_mesh_debug_instance.is_valid()) {
RS::get_singleton()->free(E.value.navigation_mesh_debug_instance);
E.value.navigation_mesh_debug_instance = RID();
}
}
g.navigation_cell_ids.clear();