Fix Editor crash when MeshLibrary gets replaced while used in an open GridMap scene

This commit is contained in:
smix8 2022-10-09 17:19:26 +02:00 committed by Relintai
parent 5f7eaa25d7
commit fd5bb2f0fd

View File

@ -564,11 +564,13 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
NavigationServer::get_singleton()->region_set_navigation_layers(region, navigation_layers); NavigationServer::get_singleton()->region_set_navigation_layers(region, navigation_layers);
NavigationServer::get_singleton()->region_set_navmesh(region, navmesh); NavigationServer::get_singleton()->region_set_navmesh(region, navmesh);
NavigationServer::get_singleton()->region_set_transform(region, get_global_transform() * nm.xform); NavigationServer::get_singleton()->region_set_transform(region, get_global_transform() * nm.xform);
if (is_inside_tree()) {
if (navigation) { if (navigation) {
NavigationServer::get_singleton()->region_set_map(region, navigation->get_rid()); NavigationServer::get_singleton()->region_set_map(region, navigation->get_rid());
} else { } else {
NavigationServer::get_singleton()->region_set_map(region, get_world_3d()->get_navigation_map()); NavigationServer::get_singleton()->region_set_map(region, get_world_3d()->get_navigation_map());
} }
}
nm.region = region; nm.region = region;
// add navigation debugmesh visual instances if debug is enabled // add navigation debugmesh visual instances if debug is enabled